That's indeed a possibility; normally, the grid should have been grown before by the appropriate call to Range(). I added a check for this rift condition in eHalfEdge::Check() and reactivated eGrid::Check(). At least in debug mode, this should catch us any such error BEFORE someone tries to lay a wall through it.
Another explanation would be the appearance of infinite numbers; a DrawLine( (+inf,0) ) could well be responsible for the error.
And hey! There is a unit test for the grid structure! I can't believe it. All hope is not lost

. It's in src/engine/test.cpp. I'll try to make it compile again.