Right off I realize that I need to change the setting for General Options, Discard if less than x damage. I found out this can't be set to zero.
You can't set it to zero because it would be pointless. Fights with no damage are ignored by default.
As a general rule you want to set it to be about 10% of whatever the average hp of mobs are.
But I can see that I'm missing many many mobs worth of casts. For example we did the first event in Sathir's Tomb and I show only Drusella Sathir and a single hexbone protector and only 17 casts for the entire event.
I'm not familiar with the event, but I assume based on context that there are multiple hexbone protectors. There are a couple potential reasons why you only see one:
1) They were all active at once. GamParse can't differentiate between multiple NPCs with the exact same name being fought at the same time. They will get counted together.
2) You were too far away to see the slay message and the next one was engaged before the timeout period was reached.
3) Something went wrong and it either thinks a player is an NPC or an NPC is a player and things go screwy.
Without knowing the event / seeing the log I can't say for sure which it is.
As for the cast counts, that is usually a result of:
1) Not being in range to see the cast messages
2) Having cast messages disabled in the options
3) Something else going wrong.
Again I can't say for sure without seeing the log.
I can understand that from this cleric's perspective I'm not going to see any fights in GamParse that I don't have a single damage message in my log. But from a cleric's perspective it's almost impossible for me to tag every add in every fight just in order to parse spell casts.
That's not how it works. You don't have to personally do damage to mobs for them to parse.
I'm guessing at this point I need to enable everyone's hits
There's your problem.
GamParse is designed with the idea that all messages are enabled in EQ. If you start turning off messages things can go wonky.