Das Problem ist auch nicht, ob 21 oder 22, sondern das ":"-Zeichen in den Ausgaben. Da ":" = "9"+1 ist, sieht es nach einer mißglückten Optimierung aus (Arithmetik auf Strings).
Es ist auch weder ein eigentliches Lazurus- noch Format-Problem, sondern tritt auch schon bei writeln(bruttopreis:5:2); auf nur mit "." statt ",".
und wo liegt nun genau die Ursache ?
ich denke als Lösung Nachkommastellen zu kürzen ist ja nicht das Gelbe vom Ei