Recently, a curious bug was opened at pear.php.net for the PEAR package (#9639). In it, a user was able to uninstall the Structures_DataGrid package, even though all of its subpackages were installed, which should have prevented uninstallation. As you can see in the comments, a test of installation followed by uninstallation using the latest PEAR worked with flying colors. Unfortunately, the package was installed with an older PEAR version.
This commit to PEAR/DependencyDB.php contains a subtle fix that allows successful registering all of a package's dependencies for uninstallation, something that was not available until PEAR 1.4.5. If you have installed any complex packages using PEAR 1.4.4 or earlier, I highly recommend that you re-install them using PEAR 1.5.0RC2, or the 1.5.0 stable which will be released shortly after the new year (barring any new bugs in 1.5.0RC2). To do this, you need not re-download all of the packages, simply run:
pear install --register-only --force <Packagename>
Where <Packagename> is the name of every package you installed with an older PEAR, or if you're not sure, the packages shown in when running "pear list"
This could be a huge pain in the rear end for some, and is why one of the must-have features I plan for PEAR 2.0 is a more robust registry that will allow reconstruction and repair without any of this monkey business. Stay tuned for details on this and other enhancements planned.