So tief wollte ich gar nicht einsteigen,es geht auch einfacher:
1) Parameter einführen der sagt ob DB-Tabellen gelöscht werden sollen
2) uninstall.sql: Die Befehle auskommentieren
3) Neues File uninstall.clm.php
In dem wird abhängig von dem Parameter die DB-Tabellen gelöscht oder nicht
4) Das Uninstallfile in die xml mit aufnehmen als uninstallfile
Das hat bei mir quick and dirty schon funktioniert dummerweise habe ich vergessen zu sichern
Mit dem Installieren geht es genauso über ein Installfile welches die Tabellen anlegt bzw. ändert/ergänzt (statt der install.sql). Das ist etwas aufwändiger aber auch kein Hexenwerk