Thank you, those corrections appear to make it work (though it is slow, so yes memoization probably should be used).
This should be in the documentation for NDSolve:
"...changing the solution variables in NDSolve from {[Beta][t], [Gamma][t], [Delta][t], [Zeta][t], [Eta]} to {[Beta], [Gamma], [Delta], [Zeta], [Eta]}. Doing so will make NDSolve return functions instead of expressions in t."
The documentation for NumberQ and NumericQ should state the difference between the two functions that you mentioned:
"It's usually better to use NumericQ for these kinds of matching patterns instead of NumberQ, since NumberQ has a few quirks that are often undesirable. For example, NumberQ[Pi] is False."
Thank you again.