By the way, I found an error in your post: where you say
Used Power = (Effective Voting Power + 20 - 1) / 20
it should be
Used Power = (Effective Voting Power + 25 - 1) / 25
.
Because
dgpo.vote_regeneration_per_day = 5;
and
#define STEEMIT_VOTE_REGENERATION_SECONDS (5*60*60*24)
.
5 times 5 is 25. :)
Ouch! Correct. Not sure why I thought it was 4.
The logic still stands, just slightly adjusted. ;)