You'd need to store more than a flag, as the license may also contain an expiry date, and the storage would need to be flexible to store any number of licenses, whereas by only storing the key and the serial#, it's fixed, and quite small. By storing the license and validating, it can be as large as there is ordinary flash storage and forward compatible with any new software feature.
And I'm not really making assumptions here - it's been established that license hacking in this way works, so implementation details aside, this is how it is done.
So yes, they could have implemented the system differently, but they didn't. It wouldn't have mattered if they hasn't released their own keys.