Android does not currently support UMA.
I've got a 8320 ... my daughter has one at school as well (for the reasons in the OP). She has no issues roaming to edge (nor do I). this was fixed in 4.5.81 (but might need the service tables reloaded).
If you use android and wifi, you'd be using something like Skype. You can't roam between wifi and UMA as they're different networks and phone numbers. Receiving calls that was is also problematic ... unless you get Google voice and route to both numbers. But... I do believe you'd have to pay for a new # for skype (or whatever the VOIP solution of choice is).
Net: if reception is an issue, and swtiching to a carrier with good local reception is not an option, UMA is probably the best choice.