Thanks @endecotp - Changing the region has enabled me to reproduce the bug.
The only iOS17 device I had access to for testing was my own personal device so was hesitant to mess with that however, it turns out that changing regions was pretty painless.
I have now found the source of the bug:
My file was being generated using NSASCIIStringEncoding and included a timestamp value.
It appears that, in iOS17, the US region/locale now uses a` UTF8 NARROW NO-BREAK SPACE (0xe2 0x80 0xaf) between the seconds and the timezone info e.g. 00:00:00 GMT whereas UK/EU still uses a simple ASCII space (e.g. 0x20).
Consequently, the creation of the NSData for my file was failing (silently but that was me not checking it!).
I'll switch to encoding the file contents as UTF8 - which should be acceptable for any receiving Apps.