MoveFile возвращает результат операции. Если возвращается 0, то функция выполнена без ошибок. В остальных случаях возвращается код ошибки
Например, если файл открыт другим процессом, то будет такая ошибка
X++:
#define.ERROR_SHARING_VIOLATION(32)
Если файл заблокирован, то ошибка такая
X++:
#define.ERROR_LOCK_VIOLATION(33)
Посмотреть список кодов можно здесь
System Error Codes
Вообще, использование этой функции, а также MoveFileEx() - это стандартный путь для переименования файлов. Отличие MoveFileEx() именно для переименования - она позволяет перезаписать уже существующий файл (с флагом #define.MOVEFILE_REPLACE_EXISTING(0x00000001))