Some other notes I want to make about game limitations:
I was poking thru the code today, and it appears that an AIModDesc (the structure that holds some DLL data like MapName, LevelDesc, etc) places some limits on the length of those strings.
There is a maximum of 16 bytes for both the MapName and the TechtreeName (this includes the null-terminator, so the user shouldn't be allowed to type more than 15 chars)
And then on the LevelDesc, a max of 48 bytes (so 47 chars).
Thus you should put limits to be sure the user can't exceed these..