I think this would be more feasible to do since callers without callerid MUST be reentering their card numbers each time.
*** UPDATED CODE THAT ACTUALLY WORKS ***
Code:
[custom-callingcard]
exten => _225,1,Answer
exten => _225,2,Wait,1
exten => _225,3,Gotoif($[${REGEX("[0-9]." ${CALLERID(num))}]?normal)
exten => _225,4,DeadAGI(a2billing.php|3) ; Make a [agi-conf3] with no callerid check
exten => _225,5(normal),DeadAGI(a2billing.php|1) ; standard callerid check.
exten => _225,6,Wait,2
exten => _225,7,Hangup
This way, anyone who calls into the system with no callerid will not get free credits from the previous caller.