You said you were using Bioware scripts. If they are unmodified, then what I posted will work. The Bioware heartbeat scripts require you enable the AI variables either in the OnSpawn event or set as Proleric discribed. Perhaps you have modified versions. If the Bioware scripts show up in the module list when you open your script editor, they would be suspect.
If your module is experiencing lag, the "X2" scripts given to a new creature are prone to failure. This is because you are first firing one script that merely fires the original Bioware defaults. For some folks, especially if testing while in the toolset, these scripts fail. Make a script template using the scripts in the standard bandit and try that (along with my OnSpawn) as a test.
Heres the list of Events and scripts you should use.
OnBlocked - nw_c2_defaulte
OnCombatRoundEnd - nw_c2_default3
OnConversation - nw_c2_default4
OnDamaged - nw_c2_default6
OnDeath - nw_c2_default7
OnDisturbed - nw_c2_default8
OnHeartbeat - nw_c2_default1
OnPerception - nw_c2_default2
OnPhysicalAttacked - nw_c2_default5
OnRested - nw_c2_defaulta (you can leave this event blank if creature resting is not desired)
OnSpawn - nw_c2_default9 (either set the variable as Proleric explained or use my script in place of the default)
OnSpellCastAt - nw_c2_defaultb
OnUserDefined - nw_c2_defaultd (the Bioware default here is a null script so the event field can be left empty for any creature actually calling it)
If you are using NESS to spawn creatures, make certain that it isn't adding different AIs to your creatures.