1) 100% There is no mistakes for object finding. It's not going to find a random object with a specific ID. You give it a bad ID, it gives you nothing. You give it a valid Object ID, it returns all information about that object. Do what you want with the information. Click it, etc..
2) Instant but then again, this depends on Simba. See, C++ side finds the model instantly. As fast as runescape can draw, that is how fast it is found. The second it is drawn on screen, it is recognized and saved. On the other hand, it sends it to Simba/PS/Lape for processing. If Simba's interpreter is slow, it will be slow. Fortunately, I haven't had any "slow" reactions in Simba. This includes text recognition and all that stuff. IIRC, it has chooseoption and all of that 100% accurate as well. Same with recognizing text.
3) No. This isn't Java reflection/injection. There is no hooks involved. The only time an update is required is if Jagex updates their "Engine" to use different OpenGL calls (such as OpenGL 4.X+). And of course graphical updates would change an ID but does not require me to update Smart/Plugins. All it requires is the scripter update their Object-ID. Also colour is an option as well. So best of BOTH worlds are involved here. If you want to use colour, you can. If you want to use OpenGL, you can. If you want both, it's there. Also, this doesn't block Reflection/Injection so if Smart ever gets those back, you can also use those in combination with these options as well or entirely separate.
The include currently has a file with a list of collected ID's I was using and AFAIK, it still works even though I wrote it near mid 2012. You can test it by checking ChooseOptions, GetSkillLevel, etc..
http://i.imgur.com/TZJZ514.png