You're missing a final <CR> at the end of your normal command. If at the end of normal you have an incomplete command, it will cancel it as if <Esc> or <C-c> was pressed.
So this should fix it:
execute "normal! :'<,'>retab\<CR>"
(Using \r inside the double quotes is also possible.)
But in this case, there's probably no need ...