This is actually intended behavior that was introduced is fairly recent CHARMM releases (I want to say c38, but don't quote me on it). The issue is that when multiple replicas are trying to access the same input script unit, it is easy to introduce subtle parsing problems (one replica can consume a bunch of lines up to the ENDIF that are needed by another process, for example, if the if conditional includes ?myrep).
The solution is to put multi-line conditionals in stream files after the REPD command. If you want to avoid having one copy of the stream per replica, you can "REPD IOSET" and "REPD IORESET" (see repdstr.doc for details).
Edit: you also need to use stream files if you want to use any subcommand parsers such as BLOCK or MSCALE after the REPDstr command.
Last edited by tim; 01/06/15 09:10 PM.