The problem is with the photo metadata. iPhone is smart when it takes photos, it detects which way the screen is oriented and gives the photo a label like 'Orientation: Left'. Newer photo viewers will read this and re-orientate the photo so that the photo looks the same as the way the photo was taken.
Older photo software does not look for this orientation cue. That software just takes the photo as-is and displays it. This is why software such as Microsoft Office 2010 Picture Manager will show the photo as being upside-down but a newer version of Microsoft Explorer will show the photo thumbnail correctly.