Praticamente si la fopen fallisce, ma fallisce perché filenameopen non esiste (secondo i controlli che ho descritto prima). Ed è questo che non mi torna perché la funzione di testo chiama la OpenDatabase passandogli la stringa "Prova" (che sarà il nome del file). Io all'interno della funzione gli dico esplicitamente di fare:

sprintf(filenameopen,"%s%s", Name, DBF_OPEN_EXT);

Non è che forse c'è qualche free di troppo?