You can't completely divorce an application from the database vendor. If you do you won't be able to take advantages of whatever features your database provides you.
I'd say use the identity column. If you move over to Oracle (for example), you can use a Sequence. Hardly a big change.
I don't know what technology you're using, but one thing that would help is using a tool such as Hibernate or iBATIS (I think they're both available for Java and .NET) which separates you a bit from the database implementation details. Then if you change database vendor you won't need to change application code, just configuration. (In theory, at least!)