Yankes, after reading your comments about yaml-cpp being the culprit in most cases and especially your question about what version I used, I decided against to fix the codes per your suggestion in the last post.
What I did instead was to remove the git version of yaml-cpp (0.6.3) and install libyaml-cpp0.6:armhf (0.6.2-4+rpi1) from the debian system. I also removed the changes in the code for the SavedBattleGame.cpp and Tile.cpp files, simply revert back to the original files. Then recompiled OXCE.
All the saved games worked. I loaded a saved game, saved it, exit, loaded it again - no more black maps and the visibility & smoke effects all are present as they should be. Phew!
The main cause seems to be the git version of yaml-cpp.
Thanks for all the helps in trying to fix the problem.