From what I've found it's because there are tons of variables for mp4 and h.264. You can use many different sub-codecs for the audio and video and hinting is a factor as well to have the h.264 file properly play through the flash player. FLV files are designed for the Flash player and by nature just work.
If you go to
http://shorts.creativecow.net/upload you'll see this sites upload instructions are designed for either h.264 or flv. You would be shocked to find how many audio codecs to play and how many times people swear they are doing exactly what the instructions say but their video won't play when using h.264, of course most do play fine but FLV is sooo much more straight forward. If you use FLV it WILL work.
Abraham