Using stored procedures is the one thing you need to avoid when trying to be DB indepedent because they're the only thing that differs appreciably between DBs.

There are other differences like cursor models, but since ADO.NET massively dumbed-down the whole concept of cursors to a lowest common denominator forward only model that difference went away.

The only other thing to worry about is obscure data-types that may not be present in all DBs.