For my current project I have inherited a couple of customized RMO applications. They help to create the merge publication, publication snapshots, subscribers, subscribers snapshot and synchronization sessions. When it became time to use the application on a Windows 2003 64 bit server I came across a couple of issues when trying to synchronize.
The first problem I saw was that I was getting a class not registered error. This was because the sqlmergx.dll was not installed by the Microsoft SQL Server 2005 Management Objects Collection install or SQL Server SDK. The only way to get the sqlmergx.dll installed on the Server was to install a SQL Server (any edition). This was relatively easy to resolve as I simply installed SQL Server Express.
The next error I then had was a System.BadImageFormatException message. This was caused by the application being complied for any CPU but I was using the SQL Server Express on Windows 64. My RMO application was therefore running as 64bit but was now referencing the 32bit sqlmergex.dll. I therefore had to set the compile option to force it 32bit. When a win64 version of sql server is installed the previous setting worked fine.