I know the cause of this: If you record using an iPhone with the volume buttons pointed at the ceiling, the resulting video plays upside-down in Windows Media Player. QuickTime is smart enough to correct and rotate automatically. Not so WMP. I have several clips that were recorded with the volume buttons pointed up. If I use QuickTime Player to rotate the clips, then they are correct when viewed in WMP, but upside-down in QuickTime Player!
Your assumptions are only partially correct. When you record the clip on your iPhone, the clip is recorded just as you see it in the WMP—i.e., upside down. What the iPhone does is records an addition file value that tells Apple media players which edge to display as the "top" during playback. Since third-party media players ignore this value, they display the clip in its original orientation which, in your case is upside down. When you flip the video orientation using QT 7 Pro, you're telling QT media players to play the file with an "upside down" orientation. By exporting the "flipped" orientation, you are, in fact, re-encoding the original "upside down" to a "right-side up" display but simultaneously telling all Apple media players to play the file upside down.
Is there any way to fix these clips so they are right-side up in both worlds? Or is there no choice but to re-record everything with iPhone's volume buttons pointed at the floor?
Actually, you can do either. That is, you can either "fix" the original recordings or re-record the the clips in a manner that avoids this problem. To "fix" your original files, simple open the files in an Apple media player (like QT 7 Pro) and export the files. The player will note the current "top" orientation and re-encode the content using the current display orientation for both QT and third-party players.