I get 11ddb exception, so I think the file is somehow corrupted or damaged. When I open the file with hex editor or notepad I can still see the address to which the bitcoins were sent.
Have you tried the Berkeley DB tools? Does "db4.7_dump wallet.dat" give an error? (db4.7_dump may be called "db_dump", depending on your installation, and you may have to install the "standalone utilities" separately from the main library.) I have managed to fish a keypair out of db_dump output and paste it into another wallet (modifying its db dump and recreating it with db_load).
If db_dump can not handle the file, I suggest either googling Berkeley DB recovery or trying to find the key pair with your hex editor. For example, in this partial dump of a wallet.dat file:
00003e80: 1a01 01fd 1701 3082 0113 0201 0104 2044 ......0....... D
00003e90: b158 5492 c83e 83fd 9177 83c1 b74e c25e .XT..>...w...N.^
00003ea0: 3e6b 3ca8 722c c41e abe0 5249 a462 88a0 >k<.r,....RI.b..
00003eb0: 81a5 3081 a202 0101 302c 0607 2a86 48ce ..0.....0,..*.H.
00003ec0: 3d01 0102 2100 ffff ffff ffff ffff ffff =...!...........
00003ed0: ffff ffff ffff ffff ffff ffff ffff ffff ................
00003ee0: fffe ffff fc2f 3006 0401 0004 0107 0441 ...../0........A
00003ef0: 0479 be66 7ef9 dcbb ac55 a062 95ce 870b .y.f~....U.b....
00003f00: 0702 9bfc db2d ce28 d959 f281 5b16 f817 .....-.(.Y..[...
00003f10: 9848 3ada 7726 a3c4 655d a4fb fc0e 1108 .H:.w&..e]......
00003f20: a8fd 17b4 48a6 8554 199c 47d0 8ffb 10d4 ....H..T..G.....
00003f30: b802 2100 ffff ffff ffff ffff ffff ffff ..!.............
00003f40: ffff fffe baae dce6 af48 a03b bfd2 5e8c .........H.;..^.
00003f50: d036 4141 0201 01a1 4403 4200 04ff 5443 .6AA....D.B...TC
00003f60: fcd0 0b8f 3844 569d caa4 2662 d90e 0c8a ....8DV...&b....
00003f70: fb1f e358 04c3 20e5 bb08 ea6d adc3 2317 ...X.. ....m..#.
00003f80: 67aa 13b9 dd6a bcb4 5a8c d049 7490 d5c2 g....j..Z..It...
00003f90: a78f f85e a617 1139 4b3b 08e5 c9bd ca00 ...^...9K;......
00003fa0: 4600 0103 6b65 7941 04ff 5443 fcd0 0b8f F...keyA..TC....
00003fb0: 3844 569d caa4 2662 d90e 0c8a fb1f e358 8DV...&b.......X
00003fc0: 04c3 20e5 bb08 ea6d adc3 2317 67aa 13b9 .. ....m..#.g...
00003fd0: dd6a bcb4 5a8c d049 7490 d5c2 a78f f85e .j..Z..It......^
00003fe0: a617 1139 4b3b 08e5 c9c2 57f9 0400 0102 ...9K;....W.....
You can see the 65-byte public key beginning at offset 0x3fa8 (04ff 5443..., right after the ASCII word "key" and a 65 byte that I guess is a length of what follows.) The full key pair is in a sequence of 282 bytes that ends with those same 65 bytes, in this case starting at offset 0x3e83 (fd 1701...). The lines for db_load here are:
036b65794104ff5443fcd00b8f3844569dcaa42662d90e0c8afb1fe35804c320e5b\
b08ea6dadc3231767aa13b9dd6abcb45a8cd0497490d5c2a78ff85ea61711394b3b\
08e5c9
fd170130820113020101042044b1585492c83e83fd917783c1b74ec25e3e6b3ca87\
22cc41eabe05249a46288a081a53081a2020101302c06072a8648ce3d0101022100\
fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010
704410479be667\
ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a\
3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffff\
ffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101a14403420004ff5443fcd0\
0b8f3844569dcaa42662d90e0c8afb1fe35804c320e5bb08ea6dadc3231767aa13b9\
dd6abcb45a8cd0497490d5c2a78ff85ea61711394b3b08e5c9
(Remove the backslash-newline sequences, which I added for formatting.)
A normal wallet.dat will contain over 100 such key entries. You have to find the one(s) that match your coin-containing addresses. The Block Explorer can convert a public key (in hex form) to an address using the hashpubkey and hashtoaddress functions in combination:
http://blockexplorer.com/qIf the DB tools don't work, you are probably looking at a few hours' work for an expert, and you can't be sure the key pair itself isn't corrupt, so you'd have to consider the value of the coin relative to the work. I think a tool could be written to help with this.
Good luck.