It appears you removed the eval scripts on the class helper when you copied or created this class from scratch...
On the warlock base class are two scripts.
The first, running at Levels/6000 tells the class how to handle multiclassing:
Code:
~ Don't reduce our capabilities for multiclassing if this is the first
~ class we have taken.
doneif (tagis[Helper.FirstLevel] <> 0)
~ Multiclass warlocks lose all skills, and all save proficiencies
perform delete[ProfSave.?]
field[cSkillMax].value -= 2
This script also has further timing restrictions:
After Scripts: Declare First Level
Before Scripts: Class Helper forwards Proficiency Tags
Weapon and Armor group proficiencies forwarded to hero
The second script handles the caster level and runs at Post-Levels/15000:
Code:
var castlev as number
castlev = field[cTotalLev].value
call WarlocCast
It is probably this second script that is causing spellcasting slots to not get calculated.