Hallo,
Firebird macht es richtig ...
Es kommt in beiden Fällen 0.006 raus.
Vielleicht musst du noch ein Cast auf Double Precision machen:
select cast((0.1*(12/100*0.5) as double precision)
Das hätte mein versuch mit dem 0.1* erzwingen sollen. Aber auch das CASTen hätte nichts genutzt, da 12/100 eben 0 ergibt.
Ich bin mir jetzt auch keiner Server-Einstellung bewusst, die das beeinflussen könnte.