A mi también me corre bien el query así tal cual está, con esos tipos de datos (osea BIC varchar(12) y CODIGO varchar(3),
por otro lado el query no es optimo y con muchos registros en ambas tamblas podría tomar mucho tiempo, lo puedes cambiar a algo similar a esto:
Código Delphi
[-]SELECT b.* FROM Bancos b WHERE exists (SELECT p.Codigo FROM Paises p where p.codigo = SUBSTRING(b.Bic FROM 5 FOR 2))