I find that this works ok with FTN95, but I get the following ClearWin+ error message when using a third-party compiler:
winio@ failed to match format length.
Is that perhaps because it is not implemented in the 64-bit version?

Not exactly. It has been implemented in clearwin64.dll but it might not work for third-party compilers.

ClearWin+ has an alternative calling mechanism for winio$ and third-party compilers because winio$ and winio@ can take a variable list of arguments. FTN95 passes information about this list but third-party compilers don't. So for third-party compilers, ClearWin+ peeks into the format string in order to work out the argument list before going on to process it in the normal way.

It is possible that the process of peeking needs to be fixed. I will make a note of this.