You are talking solutions (half-baked ones as well), do you know what is actually going on?
First identify which tables and processes are involved in the deadlocks. You can use the SQL Profiler for that.
Set the profiler up (have your DBA help you), start it, start your test (I am assuming you can trigger this situation at will), wait for errors, stop your test, stop the profiler, go hunting in the profiler log file.
Typically what happens in SQLServer is the following:
Transactions are too long and lock multiple tables
The order in which tables are updated or inserted into is not consistent
You have a hot spot in your database (constantly hitting one table for inserts or updates)
You reads are not committed (yes they need to be, because reads create shared locks)