The Data Query toODataString function currently treats GUIDs as strings, as there is no built-in JavaScript mechanic to distinguish between the two types.
The toODataString function should return a proper formatted OData query string, and a possible solution could be to have a boolean property on the FilterDescriptor to indicate the filter field is to be treated as a GUID, similar to the ignoreCase property that exists now.