Тот номер ошибки, который ты указал означает, что ты залез в чужую память. Сам подумай:
strcpy( "9 simbols", "12 symbols xxxxxxxxxx....."

вылезет за пределы результата. sizeof("c:\\base"

= 6!
1. используй lstrcpyn(LPSTR, LPSTR, int maxNumberOfBytes)
2. используй sizeof(dest)=MAX_FILENAME + 1