There are 2 issues found related to virtual column. one of issue may be related to IDEMPIERE-3390.
1. If colSQL having space at start or end, MQuery do not consider this as virtual column and so search is failing.
2. If M_Product_Category_ID is used as a virtual column, search fail as it try to look M_Product_Category_ID column inside table in inner query built to resolve child categories.
Please find attached patch and let me know if any questions or correction required.