FYI the mysql function for the current date-time is Now(). You can also use the synonym CURRENT_TIMESTAMP(), but Now() is less typing.
If you want to do it all in the query then:
INSERT INTO player(playerID, timecheck) VALUES($playerID, Now()) ON DUPLICATE KEY UPDATE points = IF(TIMESTAMPDIFF(HOUR,timecheck,Now()) >= 2, points+5, points), timecheck = Now()
[edit]sorry about the typo in there[/edit]
PS Piranha, there is absolutely nothing wrong with using both REPLACE and ON DUPLICATE KEY UPDATE where they are appropriate. Indeed, from a database developer's perspective, and that is mostly what I am, using 3 queries plus code to do something that can be done in 1 query is definitely the 'wrong' way.