After hours chasing a ghost... I finally figured out that the global_variable was hurting me.

I am trying to use QPC (in order to have timers with microseconds precision ) , and If I call a this API with a global_variable bigInt, the result is corrupted..

Code:
External_Function Win_QueryPerformanceFrequency  "QueryPerformanceFrequency" Kernel32.dll Address lpFrequency Returns Boolean

Global_Variable BigInt gbiQPCFrequency 
Move 0 to gbiQPCFrequency


Function QueryPerfCounter Global Returns BigInt 
    Boolean bRet 
    BigInt biCounter

    Move (Win_QueryPerformanceFrequency( AddressOf(gbiQPCFrequency)) ) to bRet 
    Showln "gbiQPCFrequency:  " gbiQPCFrequency               // <<<<-------  result corrupted  39062 

    Move 0 to biCounter
    Move (Win_QueryPerformanceFrequency( AddressOf(biCounter)) ) to bRet 
    Showln  "Freq local bigInt: " biCounter        // <<<<----  correct expected result  10.000.000  

    Function_returns biCounter
End_Function