Are you sure? May be I don't understand something, but...
From what you wrote you understood me correctly
I do not know the behaviour of each and every LCL widget for all available target platforms and how some desktop managers/tools manipulate their applications but perhaps you do ? So while it might work the way it does for you (there is no need for me to argue against your results as they are probably perfectly fine for your test) does not mean it works the same everywhere.
Additionally user dseligo is correct in that it is perhaps not a problem in sample and/or smaller applications but as soon as you start changing visibility of multiple forms you can get yourself into troubles.
Another thing that I dislike (and showed its colors in TS' example) is that I get errors even before a form has been made visible to me so that there is no feedback to the user whatsoever. Again perhaps TS presented the code for example-sake but in this particular case not very helpful and even disturbing in such a way that I could not be bothered to try locate the original issue (because I needed to correct this habit and remove other bugs first before being able to focus on the question being asked).
Another issue I have with using the main form's onshow event for initializing things is the time it might take to initialize things without presenting any feedback. Again, for example-sake it is perhaps good enough but really annoying for end-users and something you should never do for real production code.
But do note that most if not all of the issues I have with the onshow event are personal preferences (based on experience) so it is perfectly fine to disagree with anything that I wrote
If it all I do hope the reader could take some of the things that were written into consideration or at least think about it for a sec.
If you must initialize your application inside/at the Form's onshow event then make sure that it is only able to run once and that every error is accounted for.