Non ho errori ma ottengo tramite GetLastError: "Impossibile trovare il file specificato" che invece è presente nella dir (c:\xara\2006) l'inghippo penso che sia in lpFilePart del quale non sicuro del valore che assume;
da debug pathfile prende il valore del percorso (c:\xara\2006) e risFile ritorna 0 e non la lunghezza della stringa del file copiato
char *pathfile;
pathfile = ConcatStr(path, anno);
char FileName[11] = "fattura.db";
char buffer[24];
char *FilePart[11];
DWORD risFile;
risFile = SearchPath((LPCTSTR)&pathfile, (LPCTSTR)&FileName, NULL, 24, (LPSTR)&buffer, FilePart);