Interesting project logdog, are you planning on storing some kind of rough travel/bump/distance map to get an idea of the room size and rough location of the roomba and items in that map as it proceeds?
One thing I always thought would help overcome the limitations of using wheel-rotations (can be very inaccurate due to wheel slip etc) was some kind of triangulation using at least 1 RF equipped Lighthouse as the fixed point to continually triangulate against - this would allow imo the building of a very accurate map and "travel log".
Sort of like this:
where the Neato marks the physical walls it encounters and tracks where it's been - obviously the roomba cant see very far in front of itself but one way to tackle this, and have it clean room by room would be to, implement a wall following discovery mode with logic rules something like this (i'll use basic style to demo):
10 Find wall
20 follow wall
30 if bump into new wall goto 20, else no more wall continue in straight line
40 if return to start point goto 50, else goto 10
50 start methodical cleaning
this logic is very crude but im sure you get the idea.