I am running ARR 2.5 on a Windows 2008 R2 Datacenter SP1, and have experienced the same problem when transitioning a farm server by selecting either "Disallow New Connections" or "Make Server Unavailable Immediately". The controller will eventually revert the farm server to available. I checked the access logs on the affected server and in one case, it became available and began serving requests after 2 hours.
With regards to Jim B's solution, I have one issue with it. If you deploy correct code to the primary and don't configure the health test before the next check, then all farm servers that have been provisioned with the new running code will be marked as unhealthy, which in most cases is all those on the farm. I don't see how even a momentary lapse of farm server health is worth this workaround. If I'm missing the picture, please let me know.
I thought I'd be clever and set the farm server as unhealthy first, then set it to unavailable. The server immediately became unavailable and healthy.
Personally, the only way that I can be sure the farm server will not be made available automatically is by removing it from load balancing completely after you have reasonable assurance that the connections have drained.
Regardless, it seems to be a bug. I can't be sure a particular farm server will not handle session traffic when I try to funnel away from it (for updates and restarts, for example).