Greg is right, the queries are always compiled and cached, so later executions should perform faster even if different parameters are used.
At this point you could try different approaches (with or without fetch strategies) and decide which fits best your scenario. For example, the first query would execute much faster if the fetch strategy is disabled, as if it is enabled, OpenAccess would also read and materialize the referenced Job objects as well as their associated Items and Proofs. If you do not need all of these objects later, maybe it would be better to exclude some of the fetch strategy options.
One thing that you could find useful is the ability to see the generated SQL by calling ToString on the linq query:
var query = DatabaseContext.Orders.Where(
o => o.UserID == LoggedInUser.UserID &&
|| o.Jobs.Any(j => j.StatusID == 2))
&& o.OrderDateTime !=
sql = query.ToString();
NeedPaymentList = query.ToList();
This way you can see more easily the complexity of the query and how much data is going to be read.
Hope that helps.
All the best,
the Telerik team
OpenAccess ORM Q2'12 Now Available! Get your hands on all the new stuff