You would have to forbid compilers and hexbrowsers.(the latter the simplest form of decompiler)
There are always individuals like @Bogen85 who say it doesn’t matter to hide things (RTTI in this case). A sophisticated adversary specialized in this narrow field of binary analysis can reverse engineer your binary… Well, I certainly don’t want just anyone to open my .exe LITERALLY in NOTEPAD and say "oh, so you used FPC and this component, noob, maybe I will do something similar and sell it for half your price".
Well, always is relative....
I actually did not consider your scenario (some casual end user, not really who I would consider a reverse engineer, opens your .exe in notepad) and the fallout from RTTI exposing things.
In the software domains I work in (where there is a lot of closed source and shipped binaries) even with advanced reverse engineering tools if a customer were try the it would take them days (or weeks) to extract anything useful and months (or years) to produce anything viable.
And none of that would be taking place in a vaccum, those who developed the software initially would be hearing about, as people always talk in these domains. And when they would start to produce anything viable and selling it, they would be getting sued.
When someone does want to make their own product, they start their own company and start from scratch, and how they are developing the new products is chatted about and the other companies all know. So they make sure to develop in such a manner as to not get sued.
So, to be fair, I was not taking the time to see your side of it. So yeah, for situations in domains with producers and consumers like you describe, and those producers and consumers are not operating in overlapping chatty spheres of development, then disabling/stripping all RTTI and symbols in the final executable I can see as having merit.
The domain you describe is just not one I've operated in, but I do see your point, and it is a valid one.
But as MarkMLI pointed out, in cases like you describe, the executable could be encrypted in a way that allows it run, but not be observed so casually.
Even if encrypted, it still has to be run, and therefore at some point has to be decrypted, but the difficulty of decrypting for human (or for other machine) analysis increases as the encryption is pushed deeper into the hardware/firmware the program is running on.