Perhaps this is a silly question, but are you using a full path to unset your item? I'm assuming you're wanting to remove these items from a database, and not just the array itself.
Also, maybe instead of unset (totally removing it), you could set it active or inactive.
At any rate, my use of unset has been to remove files from servers, not from arrays.