I want to ensure that in the event of a disaster that I can get BB services up and running ASAP. What is the best way to achieve this?
If I buy another BES licence and build a second 4.0 server to put at our DR site, how can I switch users between servers with the minimum of fuss and ideally without recradling?

If you have 2 BES servers with the same Configuration Database, you can easy move users from server A to server B. Even when server A is down. If all your users have also BlackBerryOS 4 on the handheld, they get wireless a new service book, and they doesn't notice the move.
You need only a extra server license, no extra/double CAL's.
There are also high availability solution:http://blackberry-links.com/bes-blac...h-availability

There are two basic ways to get this done depending on present budget:
1. Configure a second BES server (with the same SRP ID & Auth Keys) to connect to the same config database. Do not start the BES services because it will cause RIM to disconnect your service. This server could be used as a "warm" standby. If your main server goes down you can start this BES server and it's services, which will be already configured to use the same database.
If the sql database is "down or corrupted", then you can use the most recent backup and "attach" it to the sql server. The backup may or may not be in sync, depending on your backup frequency and how new users were added since your last backup. This option requires additional hardware.

2. This option requires you to purchase a second BES lic (different SRP ID & Auth Key) and configure a "hot" standby server for DR. this new server should use the same configuraton database for ease of user migration during primary server failure. This option is transparent to the users, most will not even notice the slight delay in mail redirection. The delay will take as long as it takes to select all the users (ctrl + select) and move them over to the new BES server. This option will also need new hardware.

thanks for that dev. The second option sounds best to me as I need to upgrade our current 3.6 server to version 4 and rather than do an in place upgrade and risk potential downtime I will be able to build a 4.0 server, migrate users across then rebuild my original server on 4.0.

That would work...what I would also suggest is ask RIM for a temp SRP ID (depends on the level of support you have) and setup the BES4.0 server. Test all the features and then do an import of the users from the original BES to the new BES.
There's a lot of "stuff" I haven't mentioned here like-
-Do an export of the users to a *.txt file
-Export the CAL to a *.txt file (or simply create a txt file with the key)
-Create a txt file with the production SRP ID & Auth Key - easier to cut and paste
-Ensure the BES service account has the correct permissions on the new configuration database
-Ensure that the BES version of CDO.dll matches the Exchange server's
-Cleanup any high pending counts for users that may exist
-Set users' expectation of the availability of service during the migration - there will be a lot of synchronization activity because of the newer BES version
-Device OS - any 957s will have to be upgraded to v2.7a for compatability
-Some devices (5800 series, 6700 series) may experience very poor performance because of the system limitation - low memory <16MB
-Have RIM's support number close-by in the event you have to call to re-enable the BES service - too many restarts of the service prompts an automatic disconnection at RIM's end
Anyway...you get the idea...I'm sure I've left something out. There's lots of previous posts about this migration strategy. Good luck

What about if I want the BlackBerry Routing server (BRS) to be of DR capability?

At the moment my company has one BES and one BRS, my manager would like to investigate the possibility of setting up a DR BES and a DR BRS, basically to me it is a separate redundant infrastructure, but catering for the same groups of users in the event of a disaster.