So I spent this entire holiday weekend going over my pathfinding routines. In researching alternate methods, I discovered I was unknowingly making use of Dijkstra's Algorithm (I'll let you look it up) up to this point. I had spent days developing that system and purposefully avoided using any pre-existing methods in order to keep ownership of the code. So now that the whole project is solidifying, I decided to jump back into it for the sake of optimization. The end result is that I've converted the entire pathfinding system into A* (proper), and the next release should show a marked increase in performance with many units on-screen.