My first question is how often did you space you safety pins?? You need to pin every 4 to 5 inches. I use my loosely closed palm to measure the distance. I would careful clip the threads every 5 or 6 stitch and the when a row is done, gently pull the top thread off. Usually when you use a good grade of cotton batting, the fabric top shifts very little because it loves and sticks to the cotton batting. Hope this helps.
And yes, you need to use your walking foot. That is what it was made for.