Well, the riddle says that the time it was when he arrived was 2.5 hours after the time he thought he saw. I think you added 20 minutes to the wrong time. If the boy thought he saw 4:35, it would have actually been 7:25, making it 7:45 when he actually got to school, which is 3 hours and 10 minutes after the time the boy thought he saw.
There is a way to do this one with just equations. Assuming this is in the morning (which makes sense, since he's going to school) and so we're not crossing the 12:00 barrier, we can write the reflection (T') of the current time (T) as:
T' = 12 - T
Therefore, adding the 20 minutes (1/3) and the 2.5-hour difference,
T + 1/3 - 2.5 = 12 - T
or
T = 7.0833 = 7:05 AM
He looked in the mirror and saw 4:55, assumed the clock was broken, rode 20 minutes to school, making it 7:25 AM when he arrived, exactly 2.5 hours after 4:55.
Is this another case of; like mother like son?