I've had that happen before. The data is OK, but the wave file header information is messed up. If that's the case, you've got data at 44.1, but the header says it's something else. Bottom line is that you don't want to "convert" anything to a different speed, because it's already correct, you just want to fix the header. The way I've done it is to just strip the raw data out, and replace the header with a proper one. How do you do that on your computer with your software? I dunno. Below is how I do it on my Linux box. DIfferent software, but I think that is the concept you want.
If you get totally frustrated, PM me... I can try to fix the file for you.
Solution: strip the wave file header, and replace it with a good one
1) Strip header: shntool cat -nh broken_input_file.wav > temp.raw
2) Replace header: sox -t raw -w -c 2 -s -r 44100 temp.raw fixed_output_file.wav
Notes: cat -nh means "no header"
sox -t raw means type raw
-w means 16bit words
-c 2 means 2 channels
-s means signed data
-r 44100 means
~~~~~~~~~~~~~~ HERE'S YOUR ANSWER RIGHT HERE~~~~~~~~~~~~~
http://taperssection.com/index.php/topic,80888.0.html