Hi Kent, another EE here... Always glad to see more Mathematica users! I have not parsed your code fully yet, but I did quickly notice that you have an odd, or non-standard, mixing of "=" and ":=".
At least to begin, a simple rule, not hard and fast, but pretty much applies in most cases:
":=" is used when defining a function, and not for much else.
Its precise meaning is that the expression with ":=" is not evaluated until it is referenced, whereas "=" evaluates immediately. I've had some weird things happen when I use ":=" similar to the way you have.
From what I can tell, you can go through your code and replace all the ":=" with "=" as a quick test, and see if that makes a difference in your answer.
Regards,
--Todd