This is an annoying issue that I've been trying to track down for awhile. The handledisconnect eventhandler does not work as expected if the unit that disconnects is in the group of a another player as the unit will transfer to the players client and not the server and will promptly kill the AI. It stops the body from sinking into the ground but the unit will be killed and the player cannot retake the slot as expected. You can easily work around this issue by using something like:
addMissionEventHandler ["HandleDisconnect",{_unit = _this select 0; diag_log format ["%1 Disconnected! Hopefully saving their unit!",_unit]; [_unit] join grpnull; _unit disableAI "AUTOTARGET";_unit disableAI "TARGET";_unit disableAI "MOVE";_unit disableAI "FSM";true}];
Which will make the unit leave the group when the player disconnects, preserving the unit. But this also has the side effect that if the player reconnects, it will create a clone rather than take over the existing unit! This must be because the engine cannot find the unit in the group any more.