Actually, I fixed the natives related to setting a model, which is going to be merged soon : https://github.com/alliedmodders/amxmodx/pull/255
Essentially, the issue is an engine bug which doesn't check for overflow, so solution is to send each update to the next frame.
This is actually similar to the above API except it sets right away the model for maximizing backward compatibility but force postponing engine update to next frame.
If you want to see how it's done, it's basically this file
and this one