Acabei de depurar um problema praticamente idêntico. Depois de horas tentando várias coisas, finalmente encontrei uma resposta, depois de examinar de perto o system.log no Console. Eu encontrei isto:
3.1.13. 21.42.42,090 sudo[622]: ... : TTY=ttys001 ; PWD=/Users/...; USER=root ; COMMAND=/usr/sbin/diskutil mount readOnly /dev/disk2s2
3.1.13. 21.42.42,000 kernel[0]: jnl: disk2s2: is_clean: journal magic is bad (0xdead00ab != 0x4a4e4c78)
3.1.13. 21.42.42,000 kernel[0]: hfs: late journal init: volume on disk2s2 is read-only and journal is dirty. Can not mount volume.
3.1.13. 21.42.42,000 kernel[0]: hfs_mounthfsplus: hfs_late_journal_init returned (22)
3.1.13. 21.42.42,000 kernel[0]: hfs_mounthfsplus: encountered errorr (22)
3.1.13. 21.42.42,000 kernel[0]: hfs_mountfs: encountered failure 22
3.1.13. 21.42.42,000 kernel[0]: hfs_mount: hfs_mountfs returned 22
A questão parecia estar com um diário ruim. Então eu desabilitei o journaling e o mount funcionou muito bem. Depois, eu habilitei o registro no diário novamente, tudo bem.
Estou surpreso que o Disk Utility não foi capaz de detectar isso durante o Verify Disk (que informou que está tudo bem).
Opção de terminal para desabilitar o registro no diário é:
sudo diskutil disableJournal force /dev/diskXsX
com o diskXsX substituído pelo que for apropriado para o seu caso. Este comando acima reportará o erro na saída, mas apenas o ignore.