SQL 2005 has xml deadlock report in profiler
which will track deadlock down to tables and stored procedure statements
I think your solution does not solve the deadlock - just makes it less likely
If the db+app had been designed correctly the omission of the index would have reduced performance but not created deadlocks