I've to say it's not going to work. The context in which I used it (the NEWID()) was in a sortexpression, which basicly tricked the DQE to simply emit the alias because the expression was there, so as the alias was the actual function, it worked.
In your case, it doesn't do that, as it either wants to emit the field or the expression. However as you're using adapter, under the hood the persistence info has to be retrieved for the fields/expression, and there's no way around that.