Hey duke,
I'm glad that you like FIFE

It isn't easy to say something about your problem without source code. The fact that the problem not always emerges is strange.
You have to consider some things:
1. The object of your "door" should be set to non static. In the object XML file, static="0".
2. You need narrow cells. Maybe not the best name for it but it means that a cell is monitored. The cells where the doors are, must be supervised by FIFE because on blocker change it can split or merge zones (sets of cells). In the XML map file is a CellCache section like in the following example.
<cellcaches>
<cellcache id="layer_id" search_narrow="1"> // search_narrow=1 means FIFE try to find them automatic
<cell x="1" y="-1" narrow="1"/> // other option, so you can define them yourself
</cellcache>
</cellcaches>
If that is too complicated, you could try to place the door blockers after map load.
Your map would contain all other stuff expect the doors, after map load you can create them yourself (code wise). The result should be a map with only one zone. The disadvantage is that pathfinding is then much slower in some cases, e.g. if your player tries to walk to a locked region the pathfinder try to find a path which of course fails.
I hope that was understandable, otherwise if something is unclear, just ask
