enableTableBreaks(true) implicitly sets “page-break-inside: avoid” for TR and TABLE elements. If a particular row is broken (by an implicit page break) – that means the table row height exceeds the page height. In the case it simply continues the row content on the next page. In such case PD4ML does not put the table header on the top of the second row part.
But, as you wrote, it writes the header (and overwrites the content).
Could you please send to PD4ML support the HTML sources which could help us to reproduce the issue.