OpenAccess always tries to translate as much as possible from the Linq query to SQL statements and execute them on the database server. The problem in this case is that the model has no information about the non-persistent property (whether it is mapped to a column or is calculated, etc.) and OpenAccess is unable to push the sorting to the server. This means that the sorting should be performed on the client side (in memory).
To achieve this you could slightly change the query and call OrderBy after ToList:
Customers.ToList().OrderBy(c => c.NonPersistentProperty);
Hope that helps.
the Telerik team
OpenAccess ORM Q2'12 Now Available! Get your hands on all the new stuff