A NUL byte is illegal in filenames on most OSses, including Unix and Windows flavours. It's not like "I give 'open' a valid filename, and it opens another file".
It doesn't behave any different from the underlaying system functionality.
There's actually a documented 'trick' that makes use of NUL characters (if you want to open a file containing trailing whitespace - this predates 3-arg open).
Perl core developers may be smart, but there are only a few. Things will only change if someone has an itch to scratch. They don't scratch other peoples itches. If noone is bothered enough by this issue to write a patch, it will be there for years to come. Scanning for NUL bytes doesn't seem to require an enormous amount of tuits.