I have seen many corrupted hprof files in the past... To test the
integrity, try using jhat which comes with JDK 6 (bin/jhat <dump>). If
this works, I am more than happy to look at the dump file itself.

Also, if you have the option to use Java 6, try creating a hprof dump
there. Java 5's jmap is known to be not so reliable and sometimes produces
corrupt dumps.

As far as doing a dump using JDK 6: Our system runs on Java 5. Do you
think I can install a JDK 6 along it and use the JDK 6 jmap to safely
create a dump of a JDK 5 VM? Or did you mean to run the VM to be
heap-dumped using JDK 6?