Lass einfach mal das zwischendurch casten weg und erzwinge Nachkomma:

select sum(((t67.lgdcov * 0,01 * expeigcov) +
(t67.lgduncov * 0,01 * expeigunco)) /
(expeigcov + expeigunco - zussisum))
from lea/leadwht1, lea/leat67 t67

Ein cast auf Double verliert Genauigkeit und erzwingt ein Runden oder abschneiden des Ergebnisses.
Ggf. ersetze 0,01 mit 0.01, je nach Dezimalzeichen.
Schau dir die Ergebnisse an.

Ggf. brauchst du das Ergebnis wieder nicht zu casten sondern stellst dies in eine Hostvariable deines Formates. Mit einem NULL-Anzeiger erfährst du auf Satzebene (-2), wann der Wert nicht passt.