What are the Core system ramifications when the client hours are less than actual hours worked, say Hours = 3 and Client Hours = 0? Instead of reducing the actual hours to match the client hours, does it make sense to keep them as is, but mark the time entry as non-billable?
Ideally, you should set a different Client Hours field from the Hours field for billable time entries only if you want to charge the clients a non-zero amount that is more or less than what is normally charged if the two fields are equal. So setting the Client Hours field to zero for such entries is not recommended as the charge amount becomes zero for the entries and they show up on invoices (having a zero charge amount). This is, in effect, similar to non-billable entries that you can choose to show on invoices as 'No charge' items. So it is better to use non-billable entries in this case. This will also ensure the accuracy of your reports and widgets. Check out this article for more information on hours and client hours comparison.