The first problem this creates is that if you just let FreeBSD pick its AP automatically ("ssid -"), when you re-associate you can get associated with a different AP than you were before and since that AP is working on a different subnet, you get a new address and all your connections break--if you're lucky. This problem is easily solved by telling FreeBSD to pick a particular AP (figuring out which one is best at any particular moment requires some trial and error).
The second problem is that when FreeBSD de-associates with the AP, it seems to abandon its opinion about its IP address, and when it re-associates, even with the same AP, it doesn't seem to want to re-run DHCP to get a new address. This may be a bug in FreeBSD or may just be some kind of configuration error I haven't worked out yet. Anyway, once I figured out what was going on, I was able to find a workaround. What you do is use DHCP to get a lease for your address and then manually configure the interface to have that address. Then when you get de-associated you don't lose your address. Of course, there's the usual concern that someone else might get the same address as you via DHCP, but the leases are long (about 12 hrs) so you just need to manually reconfigure it once a day or so.
Anyway, this is all pretty annoying, but it seems to work fine, since I've been using the network all day and am blogging from it now.

So what do you think happens to PC owners? Do they "just work", or are all those clueless businessmen just out of luck when they stay at that hotel?