A tarefa cron não é executada na mesma sessão X em que você está conectado, portanto, não sabe com qual servidor X conversar. Quando você efetua login, o endereço do servidor X é armazenado em sua variável de ambiente $ DISPLAY. Qualquer processo iniciado a partir do X usará essa variável para determinar qual servidor usar.
Você precisa encontrar uma maneira de passar o endereço do servidor apropriado para o trabalho do cron. Pode ser tão simples como:
DISPLAY=:0 /usr/bin/kdialog --title "MAIL RECIEVED" --msgbox "mail recieved!!" &