Well, I found a solution that works and which does not break my configuration. Perhaps you think it is too complicated, but I think it simplifies things as the new project fits in my system. Here's what i did:
First, I wrote a very simple dummy compiler that understands the same command line parameters as ml64.exe in MSVC, i.e. like this:
ml64.exe /c /nologo /W3 /Zi /Fo$object $file
The /Fo option defines the required output object file (shown here with C::B variables $object and $file). The dummy compiler simply creates a c++ file containing a dummy function and compiles it to the actual target object file name using the current c++ compiler (cl.exe). Then the linker and build system is happy.
Second, I defined a custom command to build the problem *.asm file, see attachment. The custom command refers to a global variable which takes different values for 32bit and 64bit. In the 64bit case it is obviously set to ml64.exe, and in the 32bit case it runs the dummy compiler.
Problem solved.