%:8 é um modificador de nome de arquivo válido, por isso está sendo interpretado pelo Vim como parte do comando :! .
Você pode usar expand('%') para expandir manualmente % e, em seguida, citar corretamente com shellescape(…,1) :
:map <F9> :exe '!gdbset bp' shellescape(expand('%').':'.line('.'),1)<CR><CR>
:map <F8> :exe '!gdbset clear bp' shellescape(expand('%').':'.line('.'),1)<CR><CR>