Dynamic Agents and least recent strategy

I have a queue using the least recent strategy with dynamic members. Members are added and removed from the queue using the ami via the commands queue add member and queue remove member. I have noticed that when an agent is removed from the queue then added to the queue all of their call stats are reset to 0. Since we employ the least recent strategy this means the agent is now first in line for a call even though they may not have been the least recently called.
Here is a scenario: Queue has dynamic agents A, B, and C. Agent A has taken 1 call (last was 300 sec ago), Agent B has taken 1 call (last was 200 sec ago), and Agent C has taken 1 call last was 100 sec ago). Agent C is removed and re-added to the queue and now shows Agent C has taken no calls. Although Agent A is truly the least recently called Agent C will get called first.
How can the last call time be preserved when removing and adding members to avoid this behavior?

Event: QueueMemberAdded
Privilege: agent,all
Queue: 99
Location: SIP/2203
MemberName: SIP/2203
Membership: dynamic
Penalty: 0
CallsTaken: 0
LastCall: 0
CallAnswered: 0
TalkTime: 0
Status: 1
Paused: 0

From “action: queues”: SIP/2203 (dynamic) (Not in use) has taken no calls yet with total talktime 0s

Still looking for help with this one. Call center agents are able to abuse this behavior by logging in and out after each call to stay at the top of the queue and get more calls. Any ideas?