I would hazard a guess that it's within slapt-get. Considering the dependencies listed could also be required for other applications and routines, slapt-get isn't too picky about what it removes. If a dependency is listed, it assumes that nothing else uses that dependency.
It's been a long while since I've really played around at the nuts and bolts level (something that will be corrected soon!), but perhaps gslapt could be written in a manner that allows removepkg to be used if one needs to remove something from the system?
Utilizing removepkg when removing packages from a system via gslapt (or slapt-get) would accomplish the end goal, or some method of just disabling dependency checking when a package is being removed would suffice. Either way I think we'd end up with the same result without other dependencies being removed. It's a starting point.
The next best thing would be to have a packages dependencies checked and compared to installed packages in the system to determine if those dependencies are still being utilized by other packages. Unfortunately, this would be much more laborsome and certainly prone to error (and extenuating circumstances).
I noticed that kpackage is included with VL6 SOHO (both versions). Does anyone know if it has the same problem with dependency removing that Gslapt does?
You know, I've seen the kpackage option in the latest SOHO but I've never attempted to use it. It would definitely be worth looking into. A ventured guess would be that it will not work correctly due to using slack-like packages with "homegrown" dependency checking, but it's a TOTAL guess.