OK, I was confused because it had been working fine with powerOfTwo disabled, and obviously enabling powerOfTwo made the textures larger, but it didn't seem likely that it would make it larger ENOUGH to push it over any kind of limit, when with POT disabled it was producing a 32756x14972 image, and POT would only bump it up to 32768x32768, and even 32768x32768 is only 1,073,741,824, far below the 2,147,483,647 limit for a signed 32-bit integer.
But I just realised, since there's four channels, it's presumably making an array four times that size, and indeed, 32756x14972x4 = 2,092,715,328, just barely below the limit. So that's that.
Is there any hope that this would be an easy fix (i.e. 64-bit integers), or should I start looking into TexturePacker's Spine atlas support?