Ok.. Could you try something (if it does not work either then I am out of ideas:) )
Rewrite your code like this and see if it changes anything (just make a copy of the original code first):
using System;
using System.Activities;
using System.Collections.ObjectModel;
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk;
using Microsoft.Xrm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Sdk.Workflow;
using System.Linq;
using TCRMPlugins.ProxyClasses;
namespace TCRMPlugins
{
public partial class CustomerSearch: CodeActivity
{
[Input("Email")]
public InArgument<String> Email { get; set; }
[Output("Individual")]
[ReferenceTarget("contact")]
public OutArgument<EntityReference> Individual { get; set; }
protected override void Execute(CodeActivityContext executionContext)
{
IWorkflowContext workflowContext = executionContext.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory =
executionContext.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service =
serviceFactory.CreateOrganizationService(workflowContext.UserId);
var context = new OrganizationServiceContext(service);
var email = this.Email.Get(executionContext);
this.Individual.Set(executionContext, null);
if (email != null)
{
var individual =
(from c in context.CrmContext.CreateQuery("contact")
where (string)c["emailaddress1"] == email
select c).FirstOrDefault();
if (individual != null)
{
this.Individual.Set(executionContext, individual.ToEntityReference());
}
}
}
}
}