>> "As users update or change machines they contact me and I must manually de-activate their key so they can activate via their software."
If you're using the latest version of TurboActivate (get it here: https://wyday.com/limelm/api/#turboactivate) then there should be absolutely no problem for a customer making routine changes to their computer (new RAM, new video card, new hard drive, etc., etc.). Also, upgrading the operating system would have no effect.
That is to say if a customer is saying they "changed they're computer" and your software is asking them to re-activate, what they're really doing is lying. Namely, using your software on different computer and wanting additonal licenses.
So, you have a business decision to make: do you offer multiple activation per product key? Or do you charge them for each additional activation?
It's entirely up to you.
An alternative is to add the ability to deactivate directly from within your app: https://wyday.com/limelm/help/activations/#deactivate