Hola.
A mi manera de ver, el deadlock puede ocurrir en cualquiera de las dos conexiones, pero dudo que la de DBase te devolviera una excepción... seguramente se quedaría toda la vida esperando a que el deadlock dejase de existir (cosa que sabemos es imposible). Probablemente ADO daría un timeout... pero no lo he probado.
En ib/fb, por el contrario, el deadlock se reportará tan rápido como sea detectado por el motor. Para el futuro, creo que lo importante es que comprendas en que consiste el deadlock, pues este no se produce por si mismo... hay algo en la forma de operar el programa o en el propio código que lo produce y el motor de la base de datos no puede mas que simplemente reportarlo.
Hasta luego.