Often, giardia has to be checked for a 2-3 times (different samples) for a vet to find it.
I think I would get him off the Royal Canin line in case the corn or something else in it is bothering him. Where do you get your dog food - Petco/Petsmart or a high end petfood store?
If you go to Petco, I'd recommend you try the Solid Gold line. Or, keep that in mind for later - and feed one of the "sensitive" formulas mentioned above. Just keep in mind those formulas are a bit low in protein, esp. for a puppy, so you may want to supplement w/ a little meat.