This topic is dear to my heart these days as I've recently been charged with BCP for our firm.
One of the guys working with me suggested the use of a CNAME DNS entry to achieve something similiar to what you did with the IP address solution. The idea is to have a generic server name that can be resolved to a real machine name and in the event of the production server going down, you simply change the CNAME entry to the secondary machine.
For example, consider the following configuration. The production database server is named PROD and the failover one is called EXTRA. You would create a CNAME DNS entry named DBSERVER and point it to PROD.
All applications would be configured to connect to DBSERVER.
If PROD ever went offline unexpectedly, you would change the CNAME DNS entry for DBSERVER from PROD to EXTRA.
We've tested it and it seems to work like a charm.
I'm interested to know if you considered this approach but decided the IP address strategy was better for some reason?