I assume you're testing that in iBooks?
The <video /> tag is HTML5, and since iBooks uses Safari's WebKit rendering engine that supports HTML5, it appears to work. Why didn't it work in IE (assuming 7 or 8 and not the 9 beta) and Firefox (I assume 3.x, not the 4 beta)? Those don't support HTML5. If you'd tried it in Chrome prior to 9 it should've worked (Chrome 9 removed H264 support for <video /> tags, though there's a plug in from Microsoft to re-add support).
Why didn't OGG work? Because iOS doesn't support OGG codecs (I assume by "ogg" you actually mean "ogg theora video and ogg vorbis audio in an ogx container", but it doesn't really matter -- iOS supports neither the ogg container nor the theora video codec nor the vorbis audio codec). MP4 uses H264 video and AAC audio, and iOS supports all of those (the container and codecs). M4V is just a different way to name MP4 files, so either should work.
Note that this probably won't work in other ePub readers like Stanza and Bluefire on iOS or Aldiko and FBReader on Android or Freda on WP7 or anything using Adobe Digital Editions (ADE). Also, it's unclear how this will convert to other formats, like MOBI for Kindle (but I see you already posted about that).
As long as you're okay with your book only working in iOS's iBook reader, this is a good solution. It's not technically a valid epub, though, since <video /> is not a supported OEBPS tag. It works with iBooks because Apple was lazy about building their reader to OEBPS compliance.