Perchè non provi ad utilizzare I DataEnvironment invece dei controlli ADODC? sempre di ADO si tratta ma sono molto piu versatili

una volta stabilita la connessione al database sull'oggetto DataEnvironment, puoi usare il metodo Execute per eseguire una qualsiasi istruzione SQL che non restituisce un recordset (ad esempio UPDATE, DELETE ...) e vi assicuro a me ha semplificato la vita all grande...

per quanto riguarda il tuo errore credo che il problema sia proprio nel fatto che tenti di eseguire un'istruzione SQL che non restituisce un recordset e pertanto non può essere messa nella proprietà recordsource