Well as it turns out the solution was right there the whole time. Surprised some Appium developer some where cannot know and respond for this.
Anycase the constructor for the driver takes a timeout as a parameter. Its called "commandTimeout". I could not find documentation for what this meant, and some team members assumed it was referring to Appium Server command timeouts not the HPPT request/response timeout used by low level communication layers.
Today one of the testers and I decided to give this a try. And it works. We timed launching the app at 1:11min on his setup, 11sec past the default 60sec timeout. With the timeout set to 3min creating the session passed without timing out.
driver = new IOSDriver(serverUri, capabilities, new TimeSpan(0, 3, 0));