Про технологию ADO подробнее можно почитать у М. Е. Фленова в книге "Библия Delphi" или на сайте intuit.ru - там курс есть "Программирование баз данных в Delphi", вот ссылка:
http://www.intuit.ru/department/se/dbpdelphi/.
DBListBox предназначен для установки строкового значения в поле, с которым он связан. Если нужно составить список по фамилиям, я бы использовал обычный ListBox, предварительно загрузив в него список фамилий, и обрабатывал бы его событие OnClick, а вместо DBEdit выводил бы фамилию в обычный Edit. Или, как вариант, использовать DBGrid, в котором отображается только фамилия и DBEdit, в котором, при переходе по записям, будет показываться нужная фамилия.