Ich hab' deiner Function ein paar printout's eingefügt. Du siehst, dass auch nach dem round ein -0.0 rauskommt.
(der Simulator besch..t dich da)
Code:
    While _zaehler <> _n
       _faktor = _faktor * 10
       Incr _zaehler
    Wend
    Print "IN:" ; _x ; "->";
    _x = _x * _faktor
    Print "*fak:" ; _x ; "->";
    _x = Round(_x)
   Print "rounded:" ; _x