May be It's too late for answer.
But recently I 've encountered same problem.
My work aroud is "use data binding"
Example)
In aspx
<mobile:ObjectList id="ObjectList1" runat="server">
<DeviceSpecific>
<Choice Xmlns="http://schemas.microsoft.com/mobile/html32template">
<ItemTemplate>
<mobile:Label id="lblCompanyName" runat="server" Text='<%# DataBinder.Eval(((MobileListItem)Container).DataItem,"CompanyName")%>' Visible='<%# IsLabelVisible(((MobileListItem)Container).DataItem) %>'>
And codebehind ,I defined a method "IsLabelVisible" to switch visibility on data value.
public bool IsLinkVisible(object obj)
{
Job job = (Job) obj;
if(job.InterviewDate == null || job.InterviewDate == string.Empty)
{
return true;
}
return false;
}