Couldn't find a definitive answer in the J7110.65U, but this AOPA article would indicate that the ATC was correct.
http://www.aopa.org/training/articles/2010/100428phraseology.html(Complete Route)(runway(s) crossing, if needed)(a hold short instruction, if needed)
In the Crystal Airport example, it's pretty clear Delta comes after runways to be crossed.
In the San Antonio example, Golf and November are after the runway to be crossed, and Foxtrot is after the runway to hold short of.
That being said, I can see how if you are expecting the instructions to read like, well instructions, you would expect the runway crossing to come in the place it would happen on the route.