The bug
See title.
For example:
/setblock ~ ~ ~ chest default invalidArgument {CustomName:"hi"}
works, but the invalidArgument for old block handling is not a valid value; it instead picks replace.
/fill ~ ~ ~ ~ ~ ~ stone default invalidArgument air fill ~ ~ ~ ~ ~ ~ chest default invalidArgument {CustomName:"hi"}
both work, but the invalidArgument for old block handling is not a valid value; it instead picks replace, but ignores the filter options.
Expected behaviour
The command should not be executed but instead a message similar to the following one should be sent
'invalidArgument' is not a valid old block handling