Un problema di "design" è che l'indice i che usi per indirizzare nell'array è LOCALE all'interno del creaArtisti. Questo vuol dire che se dal main invochi in ciclo più volte il creaArtisti .... semplicemente l'indice riparte ogni volta da zero!
Lo risolvi modificando il design generale (devi rifare un po' di cose) ....
Un altro problema è che hai gestito le date come tipo int e questo è molto .. MOLTO scomodo.
Anche qui, devi cambiare le cose.
Dovrai, presumibilmente, chiedere all'utente quale artista vuole eliminare, andarlo a cercare e poi rimuovere l'oggetto dall'array (vuol dire spostare correttamente indietro tutti gli elementi successivi).
Ripeto la questione principale: il problema di tutto il codice è il design sbagliato.