anti-itemsteal should be easy to get moving without crashing, unless you're using item user data allready
Just do "call SetItemUserData( trigItem, playerId+1 )" whenever a unit picksup an item without id, else check wether playerId == GetItemUserData( trigItem )-1 and if not, drop the item with a message "You cannot pickup items that are owned by another player!".
Message to the player that actually owned the item would be nice.
BTW - I think I remember that there was even a set/get item owner function, wouldn't that work even easier?