TheoryFighter:
I actually ended up finding someone who had made pretty much this exact project, i'll post the link just for anyone else who wants to look at it. I'm hoping to find the solution to my problems in these notes.http://forums.shoryuken.com/discussion/15876/the-programmable-stick-pad-thread/p4
That's some "special" programming there. Getting back to the original code, I would also suggest using port register calls instead of digitalWrite. If you're trying to make the timing as exact as possible, not using delays and using port registers are the way to go.
Tim