mmsh needs reset packet between files
Streaming multiple files (different encodings/track id's) with mmsh doesn't signal the player that a new file has changed. I think that it at least needs a 'reset packet" between two adjacent files. This will trigger the client to request a new file/re-read the header and adjust its playout chain without losing the connection.
Test any *.wmv file with this commandline: vlc video1.wmv video2.wmv --loop --sout '#std{mux=asf,access=mmsh,url=:1234}' --sout-keep -vvv
Receiver end as: vlc mmsh://serverip:port -vvv
After the first movie you will see that the client detects an unknown stream-id and that the streaming server sends the next file. Because the id's of the audio/video tracks are different the client doesn't display the video.