Windows actually displays tooltips, not PB - PB only calls the Windows API functions to set up and request a tooltip be displayed under the proper conditions. The primary mechanism Windows uses to provide tooltip functionality is the MouseMove event (and timers, of course).
It sounds to me like this is a Windows Server 2012 issue, not a PB issue. I understand that what you are wanting to do works under Windows 10, 7, etc., but the code base for multiple versions of Windows differs, just as the code base for multiple versions of PB, or multiple versions of any application differs. By setting the tooltip text in PB via the MouseMove event, it appears that WS2012 manages tooltips a little differently than in other versions of Windows.
Therefore, if what you're doing does not work in WS2012 and it is important to resolve this issue, then you need to try to find an alternative approach, experimenting with changing additional tooltip settings when you are setting/clearing the tooltip text in order to try and "trick" WS2012 into displaying the tooltip, if possible.
For example, if I were in your situation, I would try: (1) Disabling the tooltip for this column DWObject in the DW Painter, then (2) Setting the tooltip text first, then enabling the tooltip in the MouseMove event when you are wanting to establish the tooltip. You might also try, as an experiment, supplying a generic, default tooltip text in the DW Painter and leaving the tooltip enabled, then simply setting/changing the text in the MouseMove event. I suppose other alternative scenarios are possible...you'll have to get creative and try to find a solution that works. You may eventually have to re-think/re-design this feature in your app.
Good luck!