Restored an old wallet. Ran listunspentoutputs and checked each against the blockchain to verify it was unspent. Everything looked good.
I did sendtoaddress on .1 btc to test, and everything went great.
I tried to sendtoaddress on the rest, and it died again. So weird.
I deleted the transaction, started bitcoind with -rescan, and again it shows a 0 balance for the wallet and does not show the erroneous transaction. SO weird.
I'm going to restore the old wallet again, rescan, and listunspentoutputs one more time, and verify them against the blockchain one more time to make sure I'm not crazy.