The best way to resolve deadlocks is adding the trace flag as Wolfgang mentioned. That said, when you are dealing with Replication I strongly suggest you become familiar with the Replication Monitor. Especially when dealing with Transactional Replication (I think that's what you meant by "Transactional Snaphot") and Merge Replication. I could not live without it.
Sebastian Meine's Stairway to Replication[/url] is an excellent read. Take a look at Stairway to SQL Server Replication - Level 10: Troubleshooting[/url] for more details about the Replication Monitor.
-- Itzik Ben-Gan 2001