Dara captured the optimization issues perfectly, thanks for that.

I have tried using Mathematica's ParametricNDSolve in the past along with a search minimizer and found the results disappointing. It grinds away and finds solutions that are no better than what you can find by doing a search with systematic manual selection of parameters.

It would be great if I (or Dara or someone else) could crack this nut and figure out how to incorporate a Differential Evolution solver.

The problem for me is that it seems an overwhelming task to get up to speed on what Differential Evolution entails.