I looked in MSDN and it says that OUTPUT clause is supported starting with SQL Server 2005 onwards. It is not supported by SQL Server 2000.
So now we have SQLInsertCompiler class, which uses OUTPUT INTO clause, and doesn't support SQL Server 2000, and SQLInsertCompiler2 class, which uses SCOPE_IDENTITY() after my commits, and supports SQL Server 2000.
But SCOPE_IDENTITY() approach is limited to one-record-at-a-time inserts, whereas OUTPUT INTO can return multiple row ids if we insert more than one row. Does Django allow to do multi-row inserts? If yes, then we should stick to OUTPUT INTO version, and dump SQL Server 2000 support.