Por supuesto que el método Loaded te funcionará solamente si se han asignado en tiempo de diseño, pero si es en tiempo de ejecución, no hay ningún problema, porque podes hacerlo en el método SetDataSource o como se llame el método donde asignas la propiedad DataSource (o DataSet, según sea el caso).
ah... para diferenciar si te hallás en modo de diseño o de ejecución, podes verificar si la propiedad ComponentState de tu componente, que es un conjunto, contiene el valor csDesigning.
Algo como
Código:
if csDesigning in ComponentState Then
ShowMessage('Modo de diseño')
else
ShowMessage('Tiempo de ejecución');
Hasta luego.
