Ti apre la nuova finestra perchè tu hai inserito un nuovo oggetto nella mdiArea, che è un "contenitore" per finestre, qualsiasi widget aggiunto viene inserito in una subwindow.
Da quello che ho capito riguardo il tuo problema, io credo che tu debba sostituire la tua mdiArea con un semplice frame, poi da codice inserire in questo il tuo label con l'immagine ed applicare un layout.
Ultimo chiarimento: child letteralmente significa figlio. Sono child di un ogetto tutti gli ogetti creati in quell'ogetto (per esempio una dialog aperta in mainwindow è child di mainwindow). Se tu scrivi
Il compilatore pensa che child sia il nome di un oggetto (che non hai mai dichiarato da nessuna parte) e che debba assegnargli come valore quello contenuto nell'indirizzo di una nuova istanza di qlabel, e giustamente ti da errore. Se vuoi creare un puntatore ad un label figlio della tua mainwindow, e vuoi chiamarlo child devi scriverecodice:Child = new *Qlabel
codice:QLabel *child = new QLabel(this)