Não há prós ou contras reais aqui, pelo menos nenhum que deva forçar um programador a se sentir confortável em um idioma a usar o outro.
O desempenho não deve ser um problema. É improvável que você escreva qualquer trabalho pesado com muitas mensagens nos loops internos se você for um bom programador de Obj-C, o que significa que você realmente estará escrevendo esses loops internos em C. Se você não é baixo programador de nível, as chances são de que o trabalho pesado será feito por quaisquer bibliotecas que você escolher adiar isso também, e você estará à mercê do que eles escolherem fazer.
Portabilidade é um problema real, se você se importa. Se não, então meh. Ser multiplataforma não é o fim, tudo é tudo. Ser bem-sucedido em um primeiro seria bom :) Você sempre pode portar mais tarde. Se você não planeja cuidadosamente ser multiplataforma desde o primeiro dia, apenas estar no mesmo idioma não o levará muito longe: existem muitas outras diferenças reais entre plataformas que precisam ser abordadas.
Terminar o projeto é mais importante do que se preocupar com a tecnologia, e se você é mais produtivo no Obj-C, permaneça no Obj-C.
Minha preferência? Eu sou um cara de C ++. I como Obj-C bem, mas estou feliz em C ++, e eu fazer write código de plataforma cruzada.