sorry, that was unclear: I literally meant “macOS”, like, in ‘Apples desktop os’. I 've observed UUIDs change after reboot there, while playing with a macOS version of Core Beacons (which got mostly abandoned over the even worse discovery performance of CoreBluetooth on macOS; discovery often takes minutes).
On iOS, in contrast, i’ve not yet seen CoreBluetooth assigned UUIDs - the value of the CBPeer ‘identifier’ property, to be precise - change after an iOS device reboot. Of course, this is no guarantee - as mentioned, the documentation is vague, and incorrect in the case of macOS - so we can’t know for sure which behaviour to expect.
Regarding the firmware: That’s fine for Core Beacons. On the long term, to my understanding, apps on iOS would benefit from features like connectability - which seemingly makes a big difference on how CoreBluetooth lets an app communicate with a peripheral, especially while being in the background. And iirc, Apple suggests some other details, like certain advertisement timing intervals, for BLE devices to be reliably detected by ‘Apple products’.