First port of call is to determine what is in the MP4 containers.
Gspot works for this
While you can crowbar most things into the AVI container I really do not recommend it as most of it is a hack of some form and the fallout from different splitters is not worth dealing with.
Most stuff in AVI these days is MPEG4 ASP (or occasionally MPEG4 SP) which is usually called by the encoder names of divx or xvid. Xvid is free and works very well so go with that if you have to encode.
You also need to pay attention to the audio format (MP3 is good, AC3 should also work. MP2 I would consider changing although it should work and anything else I would change).
Truth be told it is far easier to split than to join, your main concern will likely be audio sync.
Next concern is likely overlap. Many apps will give a second or two of overlap between splits for whatever reason.
Easiest way: make a playlist. I suggest this over the others. If making a DVD use something like FAVC and make a menu with a "play all" button.
Next easiest way, as follows:
AVIdemux can probably be substituted in if virtual dub does not like your setup (virtual dub relies on slightly older methods (VFW) many have stopped supporting properly).
Next way: encode the streams properly. Note it may well turn out worse than simple joining as encoding will encode the noise leaving less space for the picture. Note if you have an unusual format in the MP4 container you will need to do this (or keep it in MP4).
It gets very complex although the initial method is nothing that special (you choose quick recompress instead or direct stream copy and choose your codec of choice).
If it gives you hassle avisynth can sort you out (probably the most complex way but used correctly it will definitely work). A search of this forum and doom9 forums will net you a lot on avisynth and post back if you have issues.