I can't offer any help on Graham's solution, but I can maybe offer a second method for you to try:
1.Create a new empty game object, call it "texture animator" or anything you like.
2.Create an FSM on this object, and add a global float variable called "bg texture offset" or whatever you'd like.
3.Use a "set property" action, targeting the material that you have applied to your background. The "property" variable should be set to "mainTextureOffset.X" (or possibly ".z"). The "X" variable should be set to the global variable you created earlier. Check the box "every frame".
4.In a new FSM (can be a second FSM on the same object, or a new object entirely), modify the global variable using float add every frame, or use the iTween actions. There are lots of ways to icnrease the value of a float, pick you favorite and make sure it's happening every frame to ensure constant motion.
Hope this helps!!