Only problem is that people who use AFK boosters; prevents them from idling. I think the idle system should be based off when they've last moved AND/OR talked!in the award cycle timer just make something like
if (Session.GetHabbo().IdleTime >= xx) return;