Does your last user variable clear eventually or stay set after a user enters a pin? That might your problem. On my Schlage (different model). I had to clear the last user.
I created a scene that clears last user that is triggered by the lock locking. To do that you add this LUA:
luup.variable_set("urn:micasaverde-com:serviceId:DoorLock1", "sl_UserCode", "", 56)
But change 56 to your device number.