"Rounding off time" for payroll purposes is quite common. You also need not compensate anyone for time not worked. In the example you gave if the shift starts sat 7am and someone punches in at 6:57, presumably they spent the next 3 minutes hanging up their coat, putting their lunch away, getting a cup of coffee, etc. Assuming that's the case, then you start paying the individual at 7am, which has nothing to do with rounding off. Same goes at the end of the shift. If it ends at 3pm and they punch out at 3:03 (for example), you pay then until 3pm unless they were working past 3:00. (You should also make sure that all OT paid or any deviation from standard work schedules is approved by the supervisor.)
When rounding off TIME WORKED, you may do so in reasonable increments, e.g. in 5, 10, or 15 minute increments or some other figure in between that works with your timekeeping system. If the shift starts at 7am and someone punches in late at 7:05 and you "round off time" in ten minute increments goign forward, you would start paying the employee at 7:10am. You can round forward or round back but you must do this consistently and in a manner that doesn't favorthe employee. So if an employee WORKS until 3:05pm, they get paid to 3:10pm.
One last thing to mention, rounding off has nothing to do with whether an employee is tardy. Some employees like to interpret rounding off as a "grace period" before they are considered late. This is an apples and bananas issue. If the shift starts at 7am and someone punches in at 7:05, they're late. When you start paying them vis a vis your rounding off timekeeping procedures is an entirely separate and unrelated issue.
Ok, all that said, it might be worthwhile for your employer to check with a compensation consultant or local employment law attorney, just to make sure you have all your bases covered and any timekeeping policies you put in place are fully compliant with both State and federal wage and hour laws.