don't use dbcSpell.LookupEntry(), use dbcSpell.LookupEntryForced() instead so it will not return spell ID 1 if you pass a bad spell ID as parameter.