I had to write a lot of code to get FPDF to do proper headers, footers, and page numbers. Then about another 100 lines of code to get it to wrap long lines of text inside of a table. I'm also not using HTML to PDF conversion. I am using FPDF's methods to create PDFs. If I recall correctly, I tried to use paragraphs and even new line characters to force the line to break, but ended up having to use absolute positioning for the lines. It sounds terrible, I know, but I have been using this successfully for a little while. I basically wrote a module that takes a query (just like SQLFORM.grid) and generates a PDF with headers, footers, a logo, and can even group data into multiple tables, all while wrapping long text and repeating column headers on each new page. It was a lot of work, but the reports look pretty good.
Mariano, what about FPDF are you planning on updating? And are you planning to break backwards-compatibility?