Actually, it doesn't matter if the client timer freezes with the new code.
I thought about it and client side timing doesn't matter. If the client's timer truly gets hung, this is what will happen (using your example of client feeding 2 items in the last few seconds and 3 at the start of the next):
1. Client feeds item at 7:48:00 (picked random ass time of 7:48am, server feeding 3:30 second minute window starts here. If more than 3 mag items are fed to a mag between 7:48:00 am and 7:51:30, then the player will get disconnected. If an item is fed to a mag after 7:51:30, then the window starts over.)
2. Client hangs at 7:49:15 for 20 seconds.
3. Client feeds last two items at 7:51:48. (2 seconds before his 3:30 minute window would have reset, client side)
4. In a legitimate PSO client, since the client still fed the item within the default window (because his timer hung), "Give items" will be locked out.
5. The server had started a new 3 minute window for 3 items at 7:51:30, so by it's logic, he actually could feed one more item to his mag, even though "Give Items" is greyed out on the client side. The server will reset the window at 7:55:00 to allow 3 more items to be fed.
6. Client's own "Give Items" will light up again at 7:55:18.
7. Does not cause a disconnect.