That works, especially if you set force shipping options on the backend. That's not really my problem though.
The problem is that the shipping will only show up if you select a billing radio address option and the page refreshes. If you place an order and the button is pre-selected, the shipping cost won't yet be added to the total. You can checkout without it added to the total at all. The only way to get past this is to click the radio button manually.
If a user is already logged in and only has one address, this is a problem. It's as though the the radio button is pre-selected, but not processed.