I was so tired of mine not going back that I found out about the manual thumbwheel that allows you to put the belt in the back or front position by hand and I put mine back. It takes about 10 minutes of rotating the wheel because of the gearing inside it, but it is back all the time now. I just have to grab the belt from behind me and manually move it around to the front. Sure, it's a hassle, but at least I'm legal and safe because I'm belted in. The passenger side had not come back for about a month after I fixed the drivers side, so I moved it back too. It used to come back if I made a left turn (very strange) or hit a bump.
It's really a simple fix. You just have to pull your trim panel off between the doors on that side. Once inside, you MUST unplug the motor (or risk it going back forward again).
Unplug this blue connector:
Then look for the small black thumb wheel at the bottom (sorry, I forgot to take a picture of it). Turn that wheel by hand (it will take forever it seems due to the gear ratio of the motor and the teeth the gear grabs). But after 10-15 minutes (I'm probably exaggerating) your shoulder belt will be all the way back!
Again, I can't stress the importance of unplugging that blue connector! I forgot to do it the first time, then after putting everything back together and closing my doors and going in the house, the first time I opened my door it went forward (but wouldn't go back again!). With this unplugged, it will stay back like both mine have for over 6 months now.
I wish I could just remedy the issue and have them work again, but the seat belt circuit seems to complicated.
Good luck. Let me know if this was what you were talking about, and if it works for you.