Hi Jayson Shai,
There may be problem in your genil class's lock_objects method. for solving this issue just do one thing put a breakpoint in this method and check is it returning abap_true from there or not before this check properties of object is changeable or not
thanks and regards,
Vivek Gupta