C<before> and <after> being zero width assertions , I think they must always be called with a question mark. This is not the case line 394 and 1537. Perljam suggested that a zero width assertion can be also a capturing one and that could explain the dropping of the question mark. I don't agree with that suggestion. Anyway the examples given line 394 and 1537 don't involve capture.
This was discussed in #perl6 starting http://irclog.perlgeek.de/perl6/2008-06-20#i_357271