Cities next to monster lairs is where I feel the game has two issues:
1) It's too doable and exploitable. Yes, the monsters could potentially attack, but they rarely will. The monsters should also be protecting their lair, but I hope they make the monsters far more aggressive when their lair has been 'unlocked' by a player settling in the future. Those monsters should be out looking for vengeance! Players should be required to completely clear an area before it can be settled unless they also plan to station a large garrison in it immediately. New cities should start out with NO free garrison troops at all, with one spawning every 10 turns until full. It's way too exploitable that these free defenders just pop out of thin air the moment the city is built and it makes it too easy and perfectly safe to settle even areas that still have powerful monsters just from the combination of the free militia + a free troops of your own. There should be a check to see ff the monsters could easily overwhelm the city guards, in which they should beeline right for the city and destroy it. Only exception to this should be a hero is within range of their lair.
2) If the monsters do happen to get lucky an take a city, the city tile yields are destroyed and it can never be rebuilt, not even if you cast 'revive the land' I believe. Frustrating, really bad game rule that needs to go.
I'm saying this based on 1.4 which is supposed to make monsters more aggressive, but I still don't think they're aggressive enough.