Note that PHP 4 will generate a warning if you try to unset an array index that doesn't exist and whose parent doesn't exist.
Example:
<?php
$foo = array();
unset($foo['Bar']['Baz']);
?>
RESULT: "Notice: Undefined index: Bar"
On PHP5 no error is raised, which seems to me like the correct behaviour.
Note that using unset($foo['Bar']) in the above example does not generate a warning in either version.
(Tested on 4.4.9 and 5.2.4)