I am trying to set up merge replication over the internet between two machines running Windows 2000 Server and SQL Server 2000 Service Pack 3a.

I can register the machines with each other, no problem. I can set up my first machine as its own distributor and create a publication, no problem. The snapshot agent runs and finishes without error. I can push a subscription to my second machine, no problem. Everything looks to be set up correctly and ready to go.

However, the merge agent behaves strangely. Sometimes, when I edit data in one of the replicated tables on one of the machines, the changes are quickly propagated to the other machine without error. Other times, however, an error occurs, and the merge agent remains in "Failed" status until manually restarted.

Details on the error are as follows (from Enterprise Manager):

Error: The process could not change generation history at the 'Subscriber'

Last command: {call sp_MSupdategenhistory (?,?,?,?) }

Error details:
The process could not change generation history at the 'Subscriber'.
(Source: Merge Replication Provider (Agent); Error number: -2147200995)
Unknown token received from SQL Server
(Source: NFWB_SERVER (Data source); Error number: 0)