A normal UNION based SQL Injection can be blocked using the WAF, which filter keywords like UNION, SELECT. But I’ve that it can be bypassed by the inline comment statements of SQL such as /*!UNION*/ and /*!SELECT*/
Comment statements are meant for only reading purpose, right? If so, how a SQL server reads the injection query inside the comments and executes it?
Filtering keywords with a WAF is pointless. There is no way it could possibly succeed. Take a look at this list of ways to bypass it: http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/ (And I found that link in just a few seconds with google.)
If the code was written correctly, it would not be necessary.
As for your question the
/*!syntax of MySQL is for MySQL specific commands. It’s intended for you to be able to write portable SQL (that can run on any database) and yet still be able to send MySQL special commands.