Tamar's way will work quite well for you.
What I do is quite similar. I just create a new record in my SysInfo.DBF to track the number (Every program has a SysInfo.DBF to track miscellaneous info). Then fill that record with the next available number.
Each record of SysInfo has two fields, one for the name of the variable I am tracking, and the second for the value of that variable. In this case I might use something like 'rcptnum' for the variable name, and next available receipt number for the variable value.
When someone needs a block of 25, I would issue a block of 25 starting with that number, then update the SysInfo record to reflect where the next block would start. The nice thing about doing it this way is that if Corporate decides to change the size of the blocks in the future, the only thing you would have to change is the variable defining the size of the block.
mmerlinn?