well there is a bit of context missing (for example where do you print that number), but you described that your do once isnt doing anything.
I guess you used that Do Once inside a function. Well each time you call your function all local variables get resetted, so if you call that do once twice in two different function call, it counts as not called in that function call.
If you would call it twice in the same call, then it would remember that it was already called