The Nesivos says a new pshat in a Rambam that so many have struggled with!!
רמב"ם הלכות תשובה פ"ב ה"ב וז"ל עד שיעיד עליו יודע תעלומות שלא ישוב עוד לזה החטא כלל. ותמהו כולם ע"ז עי' לח"מ שם הלא הבחירה חפשית. ולפענ"ד נראה פשוט כי האדם מקודם עשותו העבירה הוא שוה בבחירתו לטוב או לרע אבל אחר עשותו החטא שורה עליו רוח טומאה ומלפפתו עד שמחטיאו שנית ולזה הגדולה שבתשובות באותו מקום באותה אשה וכו' ולזה אמר שישוב כ"כ עד שיעיד עליו יודע תעלומות פי' שכבר סר החטא מדעתו עד שמכח העבירה לא ישוב עליו רק הוא בבחירה שוה כמקודם.