It is not legal. Hourly employees must be paid for all hours worked--and that includes any time you are required to be at work, even if it is before your nominal shift. Furthermore, as you understand, if an employer rounds time, it must do so in a consistentent and fair way. So if being 7 minutes early were rounded up to 8 o'clock, then being 7 minutes (or less) late should be rounded down to 8, too. If the rounding is always in the employer's favor, it is likely illegal. You may wish to contact your state department of labor.