I don’t see any change to those services (just name and parameter renaming) that would have changed the behavior of those services back to when they were moved to the current source code control system in 11/2000.
I originally wrote those services and used the same basic assumption of the Flow language, which is to map using references whenever possible.
There must have been some other change to the Flow invocation path that caused this behavior change as a side effect.
Somewhere during 4.x most of the built-in services where converted from the 3.0-style signatures (Values in and Values returned) to the >= 3.5-style signatures (just a IData pipeline in). In doing so, the invoke path was optimized to really have only one instance of a IData object used as the pipeline (unless there is an exception and the pipeline has to be rolled back). This reduced memory use, but may have caused this problem.
I haven’t heard of this problem before. Please contact webM Support and register this as a compatibility bug.
It would not be hard to create an appendToRecordList that does a clone of the incoming IData before adding it to the destination array and WmPublic could be patched with this new service. This is not pretty, so maybe someone in support can come up with a better solution.
#Integration-Server-and-ESB#webMethods#Flow-and-Java-services