Usually we use the default device with the server device instance as the target and let sitebuilder build the BBMD tables and this works well as long as we look out for the occasional need for foreign device registration when there isn't a module on the servers subnet. Frankly I think we do this because it's the default.
I have noticed for a while though that occasionally this really falls apart as a system grows and changes. Basically what we find is that SiteBuilder no longer builds the BBMD tables correctly, if you read each of your BBMD devices right after downloading BBMD's to everything some devices don't have a complete BBMD table in them.
At this point you can either manually upload the BBMD table using the BBMD tool or completely ditch the whole thing and issue a NAT command to change all the notification classes to address using the servers IP.
Manually managing the BBMD tables is a bit of a pain and is pretty easy to blow them away accidentally downloading modules, which leads to missed alarms.
Once you have made the switch to NAT then you are dealing with the possibility of the server IP changing or when adding new modules and having to redo the NAT (because they default to device delivery) again leading to missed alarms.
I am sort of coming around to the way of thinking that every system we do should start out with NAT/address based alarm delivery because it is easy to train the techs to watch out for the server IP and get them in the habit of doing the NAT command after adding modules. How do you all handle this?