I'd go with your first instinct DA and make your own counter - or have a counter per unit, like increment an integer with the elapsed time in milliseconds, decrementing by 1000 if it goes over 1000 and incrementing a seconds variable, which in turn increments minutes, and in turn hours. So 3 variables, seconds, minutes, hours... which is a bit of a hassle, but you'd be doing this anyway when formatting text - so I think your better off just keeping them separate and updating them with code based on the timer.
Also, it could probably be used as a trigger for updating the in-game time display - changing text strings in AppGameKit has so much to do, I prefer to only update text when absolutely necessary. I mean, to use the timer on its own to detect when to update a seconds time display can be fiddly, usually involves storing the previous timer value and comparing it. Storing minutes and hours separately may be overkill, it might make more sense to just calculate that from the seconds value, but I'm not a big fan of calculating that stuff.