Textures for the statics aren't in the same place as BFHeroes. Thus, you MUST replicate the folder structure BF2 had set up for all the statics when you port them to BFheroes!
BF2, the statics are sorted a bit more then in BFheroes where they simplified it a bit. For example, BF2 has middle eastern stuff in it's own folder and the textures are mostly all in one folder for that category. There is also a master textures folder that most of the statics of any of the categories share files with. (BF2's statics share a LOT of the textures across the board so if you forget to port one texture, a whole bunch of statics could get f***ed up)
Remember, BFHeroes loads objects as a separate archives per category. Much like with BF2142. So porting BF2 stuff to BF2142 would be the same as porting BF2 stuff to BFheroes. Just remember that the "objects" folder all the zip files are in are part of the path too! So take that into consideration when placing the respective BF2 stuff in the right place! As I believe the static objects "folder" in BF2 can't just be copied into the staticobjects archive. Instead copy the folders within the static objects folder in BF2 to the static objects archive in BFHeroes.
Just imagine each ZIP file in BFheroes Objects folder to be a virtual "folder" of sorts. With BF2142, they decided to break up the objects.zip file into separate archives per category and placed within a objects sub folder that was formally used for the debugger and the BF2Editor.
Also make sure that you place just the collision mesh files in the server archives and the staticmesh/bundledmesh files in the client archives. Pretty much in the same place they would be as the collision mesh files but in a seperate zip archive. What you could do is just make a new ZIP file. Call it "BF2StaticObjects.zip" or something along the lines and mount it using the clientarchives/serverarchives con file for your custom mod. Just mount it using the same path as the staticobjects archive. Then just merge the BF2 client and server archives to one archive and port to BFheroes. I did not bother to seperate the files into client and server when working on my DC Sea Rigs port, so you don't actually need to separate the files like EA did. I guess they did that to make it easier for server admins to upload server files to their remote servers faster.
You still have to update both the client and server mounting con files to load that same zip file.
fileManager.mountArchive Objects/BF2StaticObjects.zip Objects\StaticObjects
Just add that same line to BOTH the serverarchives.con file and the clientarchives.con file of your custom mod. Don't worry about seperateing the server files from the client files. I didn't do that with DC Sea Rigs and it worked out fine.
Just make sure NOT to copy the static objects folder from BF2 to your new zip file! Copy the folders withen that staticobjects folder to your ZIP files! Don't include the staticobjects folder in the path. As you can see the line above sets that path up for you!