sono le OR che ti sballano tutto. probabilmente è giusta questa
SELECT *
FROM Gest_rapp
WHERE data >= '2009-11-28'
AND data <= '2010-03-30'
AND (tipo_lavoro = " OR tipo_lavoro IS NULL)
AND (N_rapp = " OR N_rapp IS NULL)
AND (Cliente = " OR Cliente IS NULL)
AND id_ute = 2