Remember that most Linux filesystems are case sensitive, and that isn't something that's fully dealt with properly in the code.
When you run the game it looks for all files that it understands and adds them to a memory cache so that they can be accessed very quickly later on. The filenames in this cache are NOT case sensitive. Anything that is added while the game is running however, does not get added to the file cache. Instead it will have to manually search the disk to find the file(s), and those searches ARE case sensitive.
So, if it was trying to load "TSM_001_artofwar_fs2.fs2", and the filename on the hard drive wasn't
exactly the same, then it wouldn't be able to find it. But, if you exited the game after the file was downloaded, and then run it again, the file would work just fine since it would be in the file cache and not be subject to a case sensitive filename search.
Make sense?

Oh, and the missions vs. multidata thing shouldn't matter one bit. It will look on the hard drive for both paths, and a mission should work from either folder. It's just that the case sensitivity becomes an issue anytime it looks on the hard drive.