Código MySQL:
Ver original-     fecha, 
-     docprovee, 
-     proveedor,  
-     SUM(IF(- codigo  <> 'IVA',-  costo_ent ,0)) AS-  Neto ,
 
-     SUM(IF(- codigo  = 'IVA',- costo_ent ,0)) AS-  Iva ,
 
-     SUM(- costo_ent ) AS-  TotFact ,
 
-     SUM((- @IVA /- @nETO )*100)  AS-  tasa 
 
-     td='EN'  
Esto te devuelve valores nulos por dos razones: 
1) No se pueden usar los alias de las columnas en el mismo SELECT que las crea.
2) En MySQL Iva y @IVA no son la misma cosa. Uno es el alias que le pones a la columna, y la otra es una variable de usuario. Y como todas las variables de usuario se deben incializar o de lo contrario su valor es NULL, te está devolviendo NULL. 
Ahora bien, yendo a tu problema, a mi entender te estás complicando demasiado. Sería mucho más sencillo que hicieras así:    
Código MySQL:
Ver original-         fecha, 
-         docprovee, 
-         proveedor,  
-         Neto,  
-         Iva,  
-         TotFact, 
-         fecha, 
-         docprovee, 
-         proveedor,  
-         SUM(IF(- codigo  <> 'IVA',-  costo_ent ,0))-  Neto ,
 
-         SUM(IF(- codigo  = 'IVA',- costo_ent ,0))-  Iva ,
 
-         td='EN'  
A veces, lo extenso, simplifica. 
Un tip adicional: la cláusula AS es obsoleta. Ya ni siquiera el Oracle 8i la usaba (y va por la versión 12), porque se eliminó del ANSI-SQL hace años. Solamente se conserva por compatibilidad cuando usas motores de bases de datos extremadamente viejos y obsoletos.