troublesome CR/LF

In migrating an EDI flow from 4.6 to 6.0 (on Windows) I found an inconsistency in handling of CR/LF. It shows up in the pub.string.replace built-in service but I think the root cause lies elsewhere.

My goal is to convert the following line
00line00
to this

Here are the inputs that yield differing results by pub.string.replace
inString=00line1[0D][0A]10line2[0D][0A]
searchString= ^00(.*)$
replaceString=

developer 4.6 replacement results are:

10line10

developer 6.0 replacement results are:
00line00[0D][0A] 10line10 (eg., no replacement)

I believe the problem is differing interpretation of CR/LF (eg., $ symbol in regular expression) between 4.6 and 6.0, causing the search string to fail on 6.0.

I recall from the distant past that there is a java property that can be used to define the line terminator system-wide. Is this the answer, and if so, how can this property be set via a java service?

I am upgrading from 4.6 to 6.1 and am having this same problem. Was there ever a fix made for this?