Dann würde ich dir eine weitere "Umgehung" vorschlagen:

insert .... values(?, ..., dec(?, 7, 4), ...)

also eine Zwangskonvertierung des Double in Decimal. Allerdings führt dies ggf. zu Rundungsverlusten, da das Casting nicht rundet sondern abschneidet.

Andererseits: was hindert dich denn den Parameter als adChar zu übergeben ?