Prova così...

Codice PHP:
function ImprovedTable($header$data)
{
    
// Column widths
    
$w = array(40354045);
    
// Header
    
for($i=0;$i<count($header);$i++)
        
$this->Cell($w[$i],7,$header[$i],1,0,'C');
    
$this->Ln();
    
// Data
    
foreach($data as $row)
    {
        
$this->Cell($w[0],6,$row[0],'LR');
        
$this->Cell($w[1],6,$row[1],'LR');
        
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
        
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
        
$this->Ln();
    }
    
// Closing line
    
$this->Cell(array_sum($w),0,'','T');
}

.....

$pdf->ImprovedTable($header,$data); 
Ti ho solo aggiunto la funzione che crea la tabella, e cambiato la chiamata alla stessa. Tutto il tuo resto di codice rimane invariato.