Hi,
Yes You have to code by calling CRM_ORDER_MAINTAIN then CRM_ORDER_SAVE and then BAPI_TRANSACTION_COMMIT.
These codes you have to do it in FM and register the FM for save event for lead so that on save of lead this FM will be called and status will get updated. Another way is ORDER_SAVE BADI change_before_update method you can use for updating the status.
You can code in on save event also but when you create Lead in GUI it will not be called, on save event will be called only when you perfrom the save in WEBUI.
Regards,
Deepika.