Hi,
Your requirements are perfectly suit to the
Active Query Builder component: it has MS-style visual interface, it can parse SQL queries of any complexity and report about parsing errors (of course). Also it can be used as a parser (without GUI). The only shortcoming is that this component reports about one error only, so the user will have to correct the query many times until all errors will be fixed. The developers promise to resolve this issue in the next major version.