Existem dois problemas;
O primeiro é que dentro de cada comando bash -ic (que por sinal não gera um shell interativo porque -c sobrescreve -i , então -i é seguro ser descartado) você está chamando bash disown em vez de bash , o que significa nada e imediatamente sai no erro; portanto, não há shell interativo em execução que mantenha gnome-terminal aberto no final do comando bash -c externo;
(Lembre-se também que você pode usar exec bash em vez de bash no final do comando para salvar alguns processos.)
O segundo é que Ctrl + C SIGINTs todos os processess no mesmo grupo do processo eliminado, incluindo o pai bash instância que é suposto a desova o shell interativo no final do comando;
Para corrigir isso, você pode usar bash trap integrado para definir bash para gerar outra instância bash interativa após a recepção de um sinal SIGINT.
Em suma, isso deve funcionar:
gnome-terminal \
--tab-with-profile=Default --title=PROG1 -e "bash -c \"trap 'bash' 2; clear;ls;./prog1; exec bash\"" \
--tab-with-profile=Default --title=SIMULATOR -e "bash -c \"trap 'bash' 2; clear;ls;./simulator; exec bash\"" \
--tab-with-profile=Default --title=PROG2 -e "bash -c \"trap 'bash' 2; clear;ls;./prog2; exec bash\"" \
--tab-with-profile=Default --title=DATA -e "bash -c \"trap 'bash' 2; ./data -f \"/home/user/NetBeansProjects/data3.txt\" -p \"6785\"; exec bash\"" \
--tab-with-profile=Default --title=PROG3 -e "bash -c \"trap 'bash' 2; cd /home/user/NetBeansProjects/simulator;./prog3; exec bash\"" \
&