M_E_K (9/20/2012)
Bit of a breakthrough on this I thought I'd share....There is an undocumented flag, -T1229 which turns off Lock Partitioning on SQL Servers with >= 16 CPU.
Once I set this flag, the deadlocks ceased to occur and the 2 processes just blocked as expected. Here is a nice write up the the problem:
http://blogs.msdn.com/b/psssql/archive/2012/08/31/strange-sch-s-sch-m-deadlock-on-machines-with-16-or-more-schedulers.aspx
Now... Does anyone see any downside to setting -T1229? I know lock partitioning is an optimization, but I would there really be a significant performance hit if we disable it? There doesn't seem to be much documentation at all on this flag.
Thanks
Let's make it easier for others to see the blog post:
http://blogs.msdn.com/b/psssql/archive/2012/08/31/strange-sch-s-sch-m-deadlock-on-machines-with-16-or-more-schedulers.aspx