1. It cannot be proven that h7-h5 was the last move, so by convention gxh6 e.p. is illegal. You have to make sure h7-h5 was the last move in order to make en passant legal. Note that the reverse convention applies for castling: if you cannot prove that castling is illegal, then castling is allowed by convention.
2. It is not a mate in 3 for obvious reasons, but since the stipulation is White to win, okay... What happens after 1... Rxg3 2. hxg3 h2 and so on, where Black tries to promote h-pawn too?
Not sure: is it a valid puzzle? (in all aspects)
White to move and WIN
( being the solution: 1. gxh6 (e.p.) Bc2 2. h7 Bxh7 3. O-O-O# )