Intanto qua ti sei sbagliato:

codice:
void MakeNullList(list *l){
    *l==LISTAVUOTA;
}
Intendevi usare l' operatore = , altrimenti è un' istruzione inutile.
Poi qua:

codice:
position Locate(list l, tipobaseList x){
    if(!EmptyList(l)){
        if(!Confronta(l->info,x)) return(LISTAVUOTA);
        while(l->next!=LISTAVUOTA){
            if(!Confronta(l->next->info,x)) return(l);
            l=l->next;
        } return(l);
    }
}
Devi tenere presente che se la lista è vuota la funzione non ritorna alcun valore.
Ti conviene ritornare 0 fuori dall' if.