The problem is that some local path is always returned by bpy_resource_path. The function does not enforce a check for existence of the path in the low level code. Since client code may indeed not care about existence of the directory, I leave bpy_resource_path alone and patch the python code to check for existence. An extra argument that enforces the check might be a better solution, but I will be leaving this to the UI team.