Your math looks pretty accurate. Whether you join a pool or not is irrelevant for the math (assuming you can find a block in a reasonable time anyway). Whether you find a block in 10 days (50 btc per 10 days) or join a pool (5 btc per day), your hashrate is your hashrate. Not counting pool fees, of course, and luck, of course, a hashrate will give you the same return whether you use a pool or not, using a pool just gives you a smaller return with higher frequency, because you get paid based on your hashrate for every block the pool solves instead of waiting to find a block yourself and keeping the whole amount.
The problem is, with a hashrate of 1 gh/s or less (1000 mh/s or less), it would take a REALLY long time to find a block.... on the order of months actually. So you pretty much HAVE to join a pool with a hashrate that low, because if it takes you 3 months to find a block, the problem is the difficulty goes up every couple of weeks, so with not finding a block for that long the difficulty increases push your payoff date even further over and over... unless you happen to get really lucky and find a block early.