Proper SetDelay / SetTimer use (instead of working as DoOnce Gate)

I am trying to archive a respawning behavior like this: Skill has X charges, every charge has its internal cooldown.

What i did: (in the character blueprint)

Skill used → set delay → increment charge

Skill used → set timer … increment charge in called function

Why it does not work:

SetDelay neglects all calls to it after the first, basically working as delayed DoOnce with the delay time reseting the gate.
SetTimer overrides itself, reseting its time till it calls the function every time it gets fired via skill used.

Im 2 weeks in so i assume i am missing something crucial or missunderstood the actual uses for SetDelay and SetTimer.

There are alot of questions here caused by this behaviour.