Por que o LINQ-to-Entites reconhece meu método personalizado?

Isso funciona:

Entities.WorkOrderSet.Where(MyCustomMethod);

Isto não:

Entities.WorkOrderSet.Where(o => MyCustomMethod(o));

([Editar] Mesmo semnew, não funciona)

Eu entendo por que o segundo não funciona -mas por que no mundo o primeiro trabalho !? Eu não deveria ter um"O LINQ-to-Entities não reconhece o método ..." em tempo de execução, como no segundo?

Para referência, aqui está o MyCustomMethod

public bool MyCustomMethod(WorkOrder workOrder)
{
    return !workOrder.WorkOrderNum.StartsWith("A", StringComparison.CurrentCultureIgnoreCase);
}

Usando EF1, não EF4

questionAnswers(2)

yourAnswerToTheQuestion