Please open an issue in our JIRA. We should be able to use criteria that checks for an empty string, and for a 0-length string as well. (Did you try that?)
I finally got around to testing this, and the existing code works correctly. The following criteria:
... WHERE [car:engine] = ''
applied only to non-null property values. Also, at least as of 4.0.0.Beta1, even when a property value is an empty string the above criteria works correctly.
Note that the correct way to find nodes where the property value is null or empty is to use:
... WHERE [car:engine] IS NULL OR [car:engine] = ''
But the following also works, even when the property value is null:
... WHERE LENGTH([car:engine]) == 0