What would cause my quad not to arm after 15 seconds. I can arm it if I try just after connecting the battery, but if I wait to get GPS lock, which can be up to 20 seconds, it will not arm.

It will most likely be a prearm check. If possible try arming with it plugged into a pc running mission planner and watch the flight data window for messages.