Setting rowlock order
Follow the Microsoft prescribed Detecting and Ending Deadlocks article. You should never "guess" at the reason for the deadlocks, otherwise you will be guessing at solutions.  The short list of steps to take is enable trace flags 1204 and 1222.  The output will give you explicitly the resource ID of what what's actually involved.  Could be a foreign key constraint, index page.  Only knowing that can you target what to try to fix with your queries, indexes or even isolation level.