> At this point, I think I'm going to have to go one of two ways on
> this. The first option would be to simply write a SQL Server-specific
> (rather than generic ODBC) adapter for Active Record, using the
> built-in identity management functionlity.

Here's what I think would be a good idea. Implement an abstract ODBC 
driver, which holds as much that can be shared for all ODBC accessible 
databases, then subclass that for each of the interesting databases you 
want to access through ODBC. This would allow each database, like SQL 
Server, to make full use of its abilities to do the auto-id stuff -- 
without worrying about the rest of the ODBC feature set.

Further more, it would allow database specific optimizations to be 
made, if any could be found. So the ODBC driver is never really 
interesting in itself, its just a quicker way to get more specific 
database drivers into Active Record.

Does that make sense?
--
David Heinemeier Hansson,
http://www.rubyonrails.org/  -- Web-application framework for Ruby
http://www.instiki.org/      -- A No-Step-Three Wiki in Ruby
http://www.basecamphq.com/   -- Web-based Project Management
http://www.loudthinking.com/ -- Broadcasting Brain
http://www.nextangle.com/    -- Development & Consulting Services