Bang (!) versus Dot (.) versus Quotes ("")
"!" и "." -- практически равноправные разделяющие символы при доступе к объектам и свойствам коллекций. Простого правила, определяющего, где и когда их использовать, я не знаю, к сожалению.

Но в примере:
TheForm!lblTitle.Left = 16
эквивалентно
TheForm!Controls.lblTitle.Left = 16
, т.к. коллекция Controls является Default Member объекта Form. (Это можно заметить по маленькому зел. шару над элементом Controls в списке членов объекта Form в Object Browser). Поэтому возможна сокращенная запись, как в первом варианте.
Тогда
TheForm!caption = "caption"
является ошибочным обращением к свойству Caption, к свойству надо обращаться через(.).
Все это -- IMHO
