You could use the wallclocktime expression to get a time unaffected by time scale. Store the wallclocktime when the timer starts, and compare the current wallclocktime to the stored value to determine how much time has passed.
Alternatively you could you make a family of objects to be slowed down, and set the object time scale for that family instead of changing the global time scale.
I can't seem to find the wallclocktime anywhere.
Also just setting the player time scale didn't seem to work, he still flies around the screen at normal speed