I believe you're looking for GETDATE. That should get re-evaluated each time it's inspected vs a static value like @[System::StartTime]
I created a simple package with a Variable CurrentTime
of type DateTime and set an Expression on it of GetDate()
I put a For Loop Container on there to count from 0 to 1000 and then inside that put a Script Task that simply printed the value of @[User::CurrentTime]
to prove that yes, it's evaluated at every inspection and then ran it.