I see indeed no problem in the code at first glance. The stop is initially ok and then wrong trailed due to a wrong price for MSFT.

Which Zorro version is that? Do you trade via TWS or via Gateway?