I'm not sure I can explain the first part (special encounters happening where none were listed), but I can explain the second (wrong encounters appearing).
The game keeps track of special encounters in an array (or, more accurately, a C++ vector) in the World object. At the start of a campaign...