We do it by editing the database directly. The downside to this is that there is no transaction log for the status change.
I have a script that runs daily and moves any users no longer in AD, or who have had their AD account disabled into a disabled users group, and I change their active status to NO.
We are v8.0, but hopefully this is still relavent for you. We set the Active field on the User object to False with a direct SQL query out of Access. We manage our users for various resources like AD, directories, Pharos, etc via Access and simply bind directly to the SQL instance to create and deactivate users with a simple query.
dbo_users_v8 ~ bound external table in Access
UPDATE dbo_users_v8 SET dbo_users_v8.active = 0
... edit for disclaimer, code is action only, obviously you should do proper
checking that the record exists and succeeds... as reference only.