The ask block is for asking a sprite for the value of a reporter, or a sprite local variable.
The block variables are not what you think they are. They do stay the same every time you call it, but they only exist for that instance of the block. Here's a demonstration of what I mean.
(Tip: you can get a picture of script by right-clicking the script, then select "Script pic", which will download an image of the script. You can also drag and drop these script pics into snap to get the script.)
If you run this block, each instance of it will report a different value, but each block will also add 1 to it's value every time you run it.
If you want to create a variable for all sprites, then you can create the variable in the blocks pallet in the variables category.
Then to change this variable in a block, you don't need to add it as a block variable.