Why not 4 ... Qg7 and 5... Rg1# ? What can white do at move 5 to refute? Of course if the bishop is NOT on c3, then this would not work. (I have a feeling you wanted the puzzle to force check on each move, and omitted the c3 bishop first time around. )
I am just getting into composing chess puzzles, so I would like to see how good this one is. comments are appreciated. See Move List for variations.