Yeah those corridors. Those bastards are hard to get right. In Agduria I have invented something that works better than in Kaduria, but then again Kaduria has different style of room creation. With pathfinding I can nail it for quite sure, because the problem is mainly in finding the proper entry location for corridors. I'm also using the closest room -routine to determine which rooms should be connected, but that's also creating a set of disconnected rooms. I have solve that one for Kaduria, too.
I wouldn't want to change room creation something like Agduria has, because I try very hard to avoid large scale re-factoring. It's better go with what you created and try to make it work than re-write large parts of the source code.