SQL Server 2000 не использовал READ UNCOMMITTED
по умолчанию, нет.
Возможно, это связано с изменениями в оптимизации в плане выполнения. Некоторые индексы, вероятно, заблокированы в порядке, отличном от того, который был в SQL Server 2000. Или SQL Server 2008 использует индекс, который SQL Server 2000 полностью игнорировал для этого конкретного запроса.
Трудно точно сказать, что происходит без дополнительной информации, но читайте о типах блокировок и проверяйте планы выполнения ваших двух конфликтующих запросов. Вот хорошая короткая статья , которая объясняет еще один пример того, почему вещи могут зайти в тупик.