you need to add the layer's name to the touch x and y reference to get the correct coordinates for the scaled layer.
Touch.X("Layer 0")
Touch.Y("Layer 0")
just replace Layer 0 with the name of your layer...
EDIT: I see Usman Haq beat me to it, however in that thread the suggestion was to use the layer number. Using the layer name is safer because if you add layers later (like another background layer at the bottom), you may break your code because layers will get re-numbered but the name will stay the same.