I don't think adding a destructor will break the ABI, as one is generated automatically. Its only if you are overloading a virtual destructor, or adding one.
In any case, the best way to handle this problem is to use either unique_ptr or auto_ptr for the pimpl. I know, templates are evil in the eyes of some. Its not that evil and saves time if someone accidentally removes the appropriate delete from the destructor one day.
I don't think adding a destructor will break the ABI, as one is generated automatically. Its only if you are overloading a virtual destructor, or adding one.
In any case, the best way to handle this problem is to use either unique_ptr or auto_ptr for the pimpl. I know, templates are evil in the eyes of some. Its not that evil and saves time if someone accidentally removes the appropriate delete from the destructor one day.