We had an ace computer programmer stay with us a couple of weeks ago and he was telling us he liked our lock (a digital/combination lock from Schlage, which I would recommend for you - it's exactly what you said you're looking for), because he said it couldn't be hacked - because it's not connected to anything. He said the smartlocks that can be controlled through a phone are mostly bad because the ones whose apps he's looked at, the apps are so poorly written, that they can be easily broken into by a programmer with just an intermediate level of knowledge.
Well, I'm glad you posted it and you make several good points! One of which is the annoyance of having to constantly change the codes! At first glance, it doesn't really seem like it would be that much trouble, but once you start having back-to-back check-ins and especially if you have more than one rental, it can become a real pain.
It turns out that changing codes is A LOT more involved than you might realize at first. We rent out two rooms in our apartment, and most of the year it's really busy with check-ins and check-outs sometimes every day, sometimes every few days. But here's what we used to do when changing codes. We first had to figure out a way to generate random codes. Because after the first few times, if you're trying to make up codes in your head, all your codes will start to look very similar! Mine tended to look like years... 1812, 1963, 1776. You begin to realize if you want them to be really secure so no one could possibly guess them, you're going to need to use a Computerized Random Number Generator, (which I'll call CRNG - as in cringe everytime you have to use it)!
So each time you get a new reservation, you first have to go to your CRNG, generate a code, write it down somewhere (we ended up having to keep track of all this in an Excel spreadsheet). Then, the day the last guest checks out, you have to check with your spreadsheet to see what their code was, then delete it from the lock. Then you check with your spreadsheet to see what the new code is, and you program that in. But you also have to mark down somewhere in the spreadsheet, the check-out date, not only for each guest, but now for each code! - so you'll know when it's safe to delete them!
It's a LOT more work than it would seem! It's not like you can just walk up to the lock, type in 4 random numbers and you're done. You have to keep track of each code, when it starts, when it expires (and remember to delete it when it expires), and you have to keep track of which guest each code is associated with. And if all that isn't enough hassle, you also have to figure out a way to convey the code to the guest. In our case, we print out a welcome letter for each guest that contains the code. But we have to do some serious record keeping to make sure the right code gets printed onto the welcome letter, and gets programmed into the lock at the same time! There is a lot of record keeping to changing codes for each guest!
Finally, all of this became so much trouble for us, that we decided to change the code just once a month. We live in the apartment and we get a pretty good sense of our guests so as long as they all seem okay, we don't worry about the code being in there for the rest of the month. But if we do have a guest that makes us feel uncomfortable for any reason, we'll change it right away.
And @jaquo you make a great point about the smartphone locks that so many guests either don't have smartphones or they can't figure out how to use them, or they won't have an internet connection when they get here, that they really are an unworkable solution for Airbnb at the moment.