Added New Subscriber but Replication Not working
Adding comment answer as answer

The solution was to remove one of the duplicate records from the MSmerge_genhistory table and then re-run the snapshot agent to generate a new snapshot.

This is because the snapshot is a series of flat files with the exported data. Removing the duplicate entry from the DB doesn't remove it from the snapshot files, only regenerating the snapshot will do this.

Another possible option is cleaning up the merge metadata first then generating the snapshot.