Your code works, yes, essentially "by luck" because you aren't attempting to actually initialize any GL functionality. However, it's also completely unnecessary. If you comment out the "GLBox.Paint" line, the visual results will be identical, since the OpenGL control will be painted at least once anyways when the form comes into view. The same goes for GLBox.Invalidate: there is no reason to call it at that point.
The tutorial by ChrisR that you've posted, on the other hand, is an example of something that will fail a large percentage of the time on Windows and the majority of Linux distros at the MakeCurrent line, as the OpenGL control may or may not have initialized its context by that point. It is also equally likely to fail at the InitGL() line. All of that is only relevant when you do it in FormCreate, though: if you copy and paste the entire function into FormShow you should have zero problems overall regardless of platform. So maybe what I said was a bit of an oversimplification, but generally you're basically gambling with FormCreate. It's not guaranteed to work like it was under old Win32-only Delphi compilers. Better to do it in FormShow and be safe!