If an unresolved variable is encountered, the plugin simply does not replace the variable in the target file.
If this unresolved variable however ends in ".file}" it will evaluate to a file object that targets the current pom. This results in the replacement being the complete path to that pom (in the 2.1 version of the plugin this results in a ClassCastException).
The workaround is, of course, not to filter the affected files.
Though this will not work if other variables in the affected files do need to be replaced.
fixed in rev 692742