So, oddly enough on the blueprint component i had made, if i have no delay connected (bRegenerationDisabled false connected to SET CurrentHitpoints) the print string will report the generation on the screen as normal.
Now when i delay by any duration, it will just cease execution at the delay. it wont display the string, and even when I set it to drain health, and set it to destroy the actor its added to, it doesnt. Remove the delay and it does.
The delay only seems to work when its set to 0 duration, by which its then useless.