I think you need to adjust the available funds depending on whether the player has an entry for the current week or not. I'd add this near the top of the script:
'Determine if the user has an entry for the given week (so we can display
'the Delete button).
dim hasEntry
hasEntry = false
if username <> "" and InWeeklyPool(username, week) then
hasEntry = true
end if
'Get the user's available funds.
dim availFunds
availFunds = GetAvailableFunds(username, week)
if hasEntry then
availFunds = availFunds + WEEKLY_ENTRY_FEE
end if
That basically gives them back credit for the current week since they've already paid for it.
Then you can adjust your if statement:
elseif not IsAdmin() and availFunds < 0 then
call DisplayErrorMessage("Error: Your account does not have
sufficient funds to make <br />these picks, Changes Not
Accepted.")
the "not IsAdmin()" part will let the admin update it no matter what.