Is there a pronunciation rule that explains why the "y" of "vagy" doesn't sound in this sentence?
In hungarian, there is no separate 'y' sound (exception are some foreign words and endings of noble's names - in those cases it's always read as 'i').
In combination with other characters ('g', 'l', 'n', 't') , they form a different sound. Sort of softer version of the standalone sounds. If you look at the hungarian abc, you will find also 'gy', 'ly', 'ny' and 'ty'. If you want to know how they sound: 'gy' as the second D in Didier Drogba [dj], 'ly' as hungarian 'j', 'ny' as spanish 'ñ' [nj] and 'ty' as the t in tube [tj], but softer - something like the t in Thierry Henry. Hope that helps :).
If you say "jó reggelt kívánok" it means that "Good morning I wish" If you only say "Jó reggelt" it means "Good morning". I think with the kívánok it is more formal, but in Hungary we mostly use the "Jó reggelt"-form. I hope I could help :)