> В чем разница когда мы описываем параметры в запросе через ':' или '?'
Если селективный запрос, то ни в чем. Вопрос только в том, как воспринимают эти спецсимволы для указания параметров запроса парсеры библиотек доступа Delphi. В принципе, они понимают оба спецсимвола, даже "в перемежку", только иногда бывают ситуации, когда ':' понимать не надо. Например, когда в TxDataSet.SelectSQL вставлена конструкция EXECUTE BLOCK, имеющая синтаксис хранимой процедуры, в которой мы можем обращаться к внутренним переменным через :MY_VAR, и тут делфячий парсер сходит с ума, т.к. не может отличить параметры запроса от обращения к переменным. Я пользую самописную библиотеку доступа, и лично для себя нашел выход из положения - отрубил ":" в парсере на фиг. Хотя, говорят, не кошерно это.

