In MP this function doesn't hide the building globally, so other clients will see both the original building AND the newly created ruined building - https://feedback.bistudio.com/T140045. To get around this I've been hiding the object manually on all other clients:
_building call BIS_fnc_createRuin;
[_building, true] remoteExecCall ["hideObject", -clientOwner];
This will run hideObject on all other clients besides the client (or server) that this was executed from.