Honestly, it sounds like an issue with your timing belt. You could try all the basic troubleshooting tips (change thread, change needle -- should be an 80/12 sharp or microtex, floss thread run, oil machine, re-thread, switch direction of spool pin) but from what you're describing I'd guess it's the timing and would probably take it in for annual service.
EDIT: here's a link for how to check if it's a timing issue.
http://www.sewitworks.com/timing/