That is strange!
I did a quick test, which proves hitdefattr does register even with hitpausetime is 0. This one also worked in a helper.
[State -2, DEBUG]
type = DisplayToClipboard
trigger1 = enemy,movecontact
text = "%d "
params = enemy,HitDefAttr = SCA, NA, HA, SA
ignorehitpause = 1
I'm sure your code is doing more than this so there must be something within your method of detection that's causing it. Are you able to post your code?