I presume that means that mIRC's implimentation of RE is based on PCRE and not PerlRE?
mIRC uses PCRE, it clearly states this, "Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel, and copyright by the University of Cambridge, England."
It seems hard to justify a function written in C that doesn't support the processing of a NUL character, yet has no problem with newline.
Well this leads me to believe you don't know how C handles strings. Reading a string passed a NUL character is illegal, it has undefined results because you are reading from memory that is not part of the actual string (a NUL character signals the end of a string). The method of correcting this involves knowing the length of the actual string, but this can be problematic. If the user specifies an incorrect length ie, one that is longer than the actual length, it can again result from reading invalid memory. As for \n, C has NO special handling for \n. There would be no reason whatsoever for there to ever be any problems with \n, \n is a legal character in a string, \0 is not.