Minha solução é fazer com que comandos sejam comandos shell e sequenciá-los com && ao invés de torná-los comandos de tela e sequenciamento com eval . Como Manwe apontou, eval não funciona muito bem porque não espera que um comando termine antes de iniciar o próximo. O comando de tela readbuf se torna o comando shell screen -X readbuf .
Então, para o seu mac, eu tentaria o seguinte:
bind ) exec sh -c "pbpaste > /tmp/screen-exchange && screen -X readbuf"
Eu não testei o acima, mas a versão de trabalho para xwindows no meu .screenrc é a seguinte:
bind < exec sh -c "xsel -nbo > /tmp/screen-exchange && screen -X readbuf"