Just to clear a few things up
.mp4 (and .m4v, .avi, .mov etc.) is what is known in the video world as a container. It's a bit confusing to get your head around but it basically contains the audio and video which use specific codecs.
The codecs are the important bit (and what some people confuse with the file itself). You see, the containers above can contain different codecs, such as:
H.264 for video and AAC for audio in .mp4, .m4v & .mov
MPEG-4 for video and AAC for audio in .mp4, .m4v & .mov
DivX for video and MP3 for audio in .avi
Those are just some examples.
What this means is that even though you have a .mp4 file, if iTunes or Quicktime doesn't support the codec (in the OP's case it sounds like Quicktime supports the audio codec but not video) it won't play it.
Apple didn't invent MPEG-4, .mp4 or whatever. MPEG-4 is a pretty wide-ranging set of standards created and utilised by many companies. AAC is the same as well. All Apple have done is just heavily backed these new standards in audio and video (which makes sense, they are the best around).
iMovie is a bit of a pain with regards to codecs. I've found the easiest option is to convert them using Quicktime Pro...