Transaction logs not removed after full backup on Exchange 2003
The removal of Exchange 2003 transaction logs is done by the Exchange server but issued by the backup application, Hiback in this case.
For backup types full and incremental (log backups) our program calls the ESE function HrESEBackupTruncateLog at the end of the backup.
When ESE receives the call from the backup application to truncate the logs (HrESEBackupTruncateLog API call), it will truncate the log files on disk. Which log files ESE truncates is determined by the lowest generation of (1) the checkpoint log file generation, or (2) the log generation listed in the database header (you can view this using the ESEUTIL program with the /MH parameter) for the current full backup.
ESE is the Windows Extensible Storage Engine, the component supplying the Backup/Restore API calls.
A serious boundary condition is the removal of the logs of a DB is possible after a full backup of all DBs of a storage group is done. If only 2 out of 3 DBs of a storage group have been backed up, the logs will be removed at the time when the 3rd DB has been backed up.
In the event log you must see event IDs 223, 224 and 225. They show which logs have been removed and at which time.