Hi primate,
The way that you connect the battery on the board to keep the RTC running is correct.
The problem founded (using the RTC SDK example) when you power on the board, a function (RTC_SetDatatime) runs and that's why the Data/time runs from the beginning, so you can check in your code, if something like this is happening, and put some conditional that ask the users if want to start from the beginning or keep the last, almost program a new Data/Time.
If you are still stuck, please provide some more details about your code.