I've been able to figure out why the ship's were not resupplying as they should be. It turns out the boolean variable I was using to mark certain design types to never resupply was being applied to all design types. It's default value was false and I never had a condition that made it true.
That's the second bug like this in the last day that have caused an issue. Previously a similar issue was preventing the AI from surrendering with an incorrect result in a calculation resulting in an always false statement.