Some things related to refreshing the screen don't work properly when called from constructor (while the control is still being created).
Setting visual properties of controls is allowed in a constructor (IIRC). The problem only is that they don't show immediately, and if there is a time-consuming initialization then the app seems like frozen for a while.
One good solution is OnIdle handler for slow initialization. OnIdle gets triggered only after the form is shown and you can show appropriate status messages etc.
It is used in Lazarus code in many places. The latest I added was the new Example Project Manager window (ManageExamples.pas).
You could copy the idea and some code from there or from other similar places.
Juha