Aha!! You are correct, I have a flawed test. But I see the same result(I get "Didn't stick1" and "Didn't stick2") if I change the code like:
InTheHand.WindowsMobile.PocketOutlook.OutlookSession s = new InTheHand.WindowsMobile.PocketOutlook.OutlookSession();
InTheHand.WindowsMobile.PocketOutlook.Contact c = (InTheHand.WindowsMobile.PocketOutlook.Contact)s.Contacts.Items[0];
c.JobTitle = "test1";
if (c.JobTitle != "test1")
MessageBox.Show("Didn't stick1");
c.Update();
if (c.JobTitle != "test1")
MessageBox.Show("Didn't stick2");
Microsoft.WindowsMobile.PocketOutlook.OutlookSession s1 = new Microsoft.WindowsMobile.PocketOutlook.OutlookSession();
Microsoft.WindowsMobile.PocketOutlook.Contact c1 = (Microsoft.WindowsMobile.PocketOutlook.Contact)s1.Contacts.Items[0];
c1.JobTitle = "test2";
if (c1.JobTitle != "test2")
MessageBox.Show("Didn't stick3");
c1.Update();
if (c1.JobTitle != "test2")
MessageBox.Show("Didn't stick4");
For this test I'm using the evaluation version InTheHand 3.1 and I'm compiling for "Windows Mobile 5.0 PocketPC Device".
I tested on 3 PPC devices a Cingular HP MobileMessenger(WM5), Verizon SAMSUNG i760(WM6), and a Cingular Palm 750(originally WM5 upgraded to WM6).
If I replace the JobTitle field with the AssistantName field then I don't see any messageboxes and I see the values being stored correctly in the debugger.