With pg functions that you use quite a bit, it may be worth your while to write equivalent SQL Server 'wrapper' function/SPs with the same interface parameters.
"Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
"I have my standards. They may be low, but I have them!" - Bette Middler
"It's a book about a Spanish guy named Manual. You should read it." - Dilbert
Thanks, we're planning to replace the sequence functions with custom written SQL functions that return numbers from a params table - better than identity fields and should mean no code changes.
The problem with that approach is, that it's either not correct or not scalable (because you will need to lock the params table)
Don't forget that the default locking handling in MS SQL Server is *very* different to the way Postgres works. If you want a similar behaviour where readers do not block writers you have to go for SQL Server 2005 (or later) and change the database to "snapshot isolation". I think that's the name, but I'm not 100% sure, never done a downgrade to SQL Server