I don't have a mobile to test this.
But wouldn't the use of the condition "every X seconds" still work in that case ?
If you want your turn to be 30 seconds long, use a "Every 30 seconds" event.
At worst try "Every 1 second" to add 1 to a global variable. When its value is equal 30, you have your 30 seconds. (or whatever time you want/need)
Once again I can't test this by myself to see if a "bloated" mobile acts as I would expect or as you described.
You could also use your own manual dt, testing the FPS value each tick, and "creating" your own dt variable to add to the timer.
There are some workarounds possible I hope.
Ashley, your thoughts ?