Speaking of "sequence of tenses" -- as a native English speaker, I personally would've translated "She asked him if he knew when the shop opened" as она спросила его, знает ли он, когда магазин открывается.
In other words, I would guess that the mother's original question was "Son, when does the store GENERALLY open on EVERY business day?" -- but she isn't interested in knowing "When HAD the store opened?" earlier that morning.
So, I would assume that "opened" is actually referring to the continuous/habitual present, and is placed into the past here because of the "sequence of tenses" rule. Mind you, the original sentence is ambiguous -- it's possible the intended meaning was "she asked him when the store HAD opened", but the speaker/writer omitted the auxiliary verb "had."
(LizeEmm, note that "когда открыт магазин?" implies "When DID the store open?", and not "When DOES the store open, generally speaking?" -- for which you would use the present reflexive verb "открывается", literally "it is opening.")
I hope all this is clear to both LizeEmm and to the Russian commenters!