This has confused and bugged me for a few years, thought I would open a discussion for it. Some questions to consider:
What are the performance implications for each data type?
Should I do all timestamp-related math with ints instead of uints?
What happens when getTimer goes above int.MAX_VALUE?
I don’t have any “real” evidence to back me up here, but I think they did it because, in the event the timer ever DID roll over, you can detect this and account for it accordingly. When a uint timer would roll over, it would be harder to detect.