For some reason, most troop related stuff in HOMM3 isn't aligned. Troop size is an integer, but it isn't usually aligned. Make sure you check the 'unaligned search' box when searching for troop size. It would be tricky in that the maps would have to be deleted when a detach is called or the process leaves the system in some other way. Also, one could add a system call that would return page sized data instead of int sized.
Some games store their important values in dynamically allocated memory.
There's no guarantee that the memory is going to be at the same location the next time the program is run. In this case, your save files won't be that useful. Xboing is an example of a game that saves its values in non-dynamic memory. Save files will work well with these games.