The function of TCustomSQLQuery.SQLParse is slightly different: SQLPrepare will always do a minimal parsing to find out what type of query it is dealing with (SELECT, INSERT, etc) to see if it can expect a resultset or not. When SQLParse is true it will continue parsing SELECT statements to determine whether the SELECT is updatable or not and extract the table name. It also detects if the SELECT statement has a WHERE part and stores the position of WHERE so that server side filters can be construct by modifying or adding the WHERE clause.
So if SQLParse is false, the query is never updatable and ServerFiltered can't be set.
Not to be confused with the TParams.ParseSQL function which also parses the SQL statement but to find the parameters and their names in the query.