El problema no es ni era de Delphi 6. El problema es que hay que diferenciar entre componentes DataAware y datos de una tabla de una base de datos. Es decir, los componentes DataAware "sólo" sirven para representar (visualizar/cambiar) los datos que contiene una determinada tabla. Pero si lo que quieres es acceder directamente a los datos sin pasar por "intermediarios", para eso tienes el componente Dataset y sus TFields asociado a la tabla y campos respectivamente
Código:
Dataset.FieldByName('MiCampo').AsTipo
Donde AsTipo representa el tipo de dato al que queremos tractar (léase AsString, AsInteger, AsDateTime, AsFloat,....).
Por otro lado, las máscaras no se ponen en los TDBEdits (ya que estos son, como he dicho antes, meras representaciones de los datos), sinó que se ponen en los campos persistentes (TFields) en su propiedad DisplayFormat (para su visualización) o bien en EditFormat (para su edición).
Esto se ha comentado muchas veces (la diferencia entre componentes y datos) y es un error que por lo que veo es muy frecuente. Hay que estar atentos a esto y saber diferenciarlo en cada momento