Round() nützt natürlich was, da damit die Nachkommastellen eben gekürzt werden können.
Ich hatte schon früher des öfteren Probleme (auch z.B. mit MSAccess und verknüpfter Tabelle), wenn der Dezimalwert zuviele Vor- oder Nachkomma enthält.

Bei Parametertyp CHAR (was für alle Parameter geht) wird eben vom Host in den passenden Typ konvertiert, aber auch hier darf die Stellenzahl nicht überschritten werden.
Übrigens: Auch wenn der Parameter vom Typ DOUBLE ist, kommt es dann doch tatsächlich auf das Ziel-DB-Feld an.