I don't know about the datamanager, but looking at the "delete" section of private.php, it looks like it uses
Code:
"DELETE FROM " . TABLE_PREFIX . "pm
WHERE pmid IN(" . implode(', ', $pmids) . ")"
to delete an array of ids from the pm table, then calls a function build_pm_counters (also in private.php) to fix the user table entries.
It looks like 'orphaned' entries in the pmtext table are cleaned up by a scheduled task that runs once an hour.