Dean,
I am experiencing unexpected behavior when editing an event. When I attempt to set a monthly event to run on the 31st of January and February at midnight, it gives me an exception, which is reasonable. But then, when I fetch the event settings, it looks like it worked after all.
Details: Here are the initial event definitions. The event in question is "Test Monthly Event", defined to run on the 30th.
<!DOCTYPE CQCGW:Msg PUBLIC 'urn:charmedquark.com:CQC-GWProtocol.DTD' 'CQCGWProtocol.DTD'>
<CQCGW:Msg>
<CQCGW:SchEvs CQCGW:SerialNum='16396' CQCGW:Changes='Yes'>
<CQCGW

erEvInfo CQCGW

eriod='64' CQCGW:Type='Min' CQCGW:Name='Test Minutely Event' CQCGW:Id='78D11F85BBC9C973-6F604706EBB0207D' CQCGW:State='Paused'/>
<CQCGW:SunEvInfo CQCGW:Offset='-33' CQCGW:Type='Set' CQCGW:Name='Test Suset Event' CQCGW:Id='2A0D5A225A527580-FC8E7C835F6E0613' CQCGW:State='Paused'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 3 0 ' CQCGW:Type='Daily' CQCGW:Name='Refresh SC Library' CQCGW:Id='792D4E14A76C8E69-35AB3F9D51B0DD3E' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='1000011' CQCGW

HM='0 14 3 ' CQCGW:Type='Weekly' CQCGW:Name='Test Weekly Event' CQCGW:Id='15647A14E540A9E3-73A35E1931E2FDBC' CQCGW:State='Resumed'/>
<CQCGW:SunEvInfo CQCGW:Offset='33' CQCGW:Type='Rise' CQCGW:Name='Test Sunrise Event' CQCGW:Id='9F15162BD83DAC8F-A4E936CC8450028A' CQCGW:State='Paused'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 23 2 ' CQCGW:Type='Daily' CQCGW:Name='Test Daily Event' CQCGW:Id='FDD1717741F052EB-1C929DC67A6654C7' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 2 0 ' CQCGW:Type='Daily' CQCGW:Name='Refresh the videos list' CQCGW:Id='F4E3FE89CCF46226-E0461D89097995FF' CQCGW:State='Resumed'/>
<CQCGW

erEvInfo CQCGW

eriod='20' CQCGW:Type='Day' CQCGW:Name='Test Every X Days Event' CQCGW:Id='0C4B26C2E076AB62-B6A416CB0E92BE0E' CQCGW:State='Paused'/>
<CQCGW:SchEvInfo CQCGW:Mask='000000000011' CQCGW

HM='30 0 0 ' CQCGW:Type='Monthly' CQCGW:Name='Test Monthly Event' CQCGW:Id='A2D14FCD8A9C2518-11BEDED372FC066D' CQCGW:State='Resumed'/>
<CQCGW

erEvInfo CQCGW

eriod='24' CQCGW:Type='Hour' CQCGW:Name='Test Hourly Event' CQCGW:Id='999FB187C6B105C9-B129F0FCB5291A92' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='1000000' CQCGW

HM='0 7 30 ' CQCGW:Type='Weekly' CQCGW:Name='Alarm' CQCGW:Id='E63F10655425E011-5CF62E04EF750671' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 1 30 ' CQCGW:Type='Daily' CQCGW:Name='Refresh the pandora list' CQCGW:Id='F693ADB08FE31DA2-6DB022DA70E51EE4' CQCGW:State='Resumed'/>
</CQCGW:SchEvs>
</CQCGW:Msg>
I then send the following message to edit the event so it runs on the 31st:
<CQCGW:SetSchEv CQCGW:EvId='A2D14FCD8A9C2518-11BEDED372FC066D' CQCGW

HM='31 0 0' CQCGW:Mask='000000000011'/>
What I get back is:
<!DOCTYPE CQCGW:Msg PUBLIC 'urn:charmedquark.com:CQC-GWProtocol.DTD' 'CQCGWProtocol.DTD'>
<CQCGW:Msg>
<CQCGW:ExceptionReply CQCGW:ErrClass="EClass_BadParms" CQCGW:ErrSev="ESev_Failed" CQCGW:File="CIDLib_Time.cpp" CQCGW:Line="1831" CQCGW

rocess="CQCEventSrv" CQCGW:Thread="CIDOrbSrvWorkThread_2">
The provided time details do not make a valid time stamp
The parameter is incorrect.
</CQCGW:ExceptionReply>
</CQCGW:Msg>
Presumably, it is the fact that the 31st doesn't always exist. I only seem to get this error when using the 31st. But then, when I log out and back in, and fetch the event definitions again, I get the following.
<!DOCTYPE CQCGW:Msg PUBLIC 'urn:charmedquark.com:CQC-GWProtocol.DTD' 'CQCGWProtocol.DTD'>
<CQCGW:Msg>
<CQCGW:SchEvs CQCGW:SerialNum='16396' CQCGW:Changes='Yes'>
<CQCGW

erEvInfo CQCGW

eriod='64' CQCGW:Type='Min' CQCGW:Name='Test Minutely Event' CQCGW:Id='78D11F85BBC9C973-6F604706EBB0207D' CQCGW:State='Paused'/>
<CQCGW:SunEvInfo CQCGW:Offset='-33' CQCGW:Type='Set' CQCGW:Name='Test Suset Event' CQCGW:Id='2A0D5A225A527580-FC8E7C835F6E0613' CQCGW:State='Paused'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 3 0 ' CQCGW:Type='Daily' CQCGW:Name='Refresh SC Library' CQCGW:Id='792D4E14A76C8E69-35AB3F9D51B0DD3E' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='1000011' CQCGW

HM='0 14 3 ' CQCGW:Type='Weekly' CQCGW:Name='Test Weekly Event' CQCGW:Id='15647A14E540A9E3-73A35E1931E2FDBC' CQCGW:State='Resumed'/>
<CQCGW:SunEvInfo CQCGW:Offset='33' CQCGW:Type='Rise' CQCGW:Name='Test Sunrise Event' CQCGW:Id='9F15162BD83DAC8F-A4E936CC8450028A' CQCGW:State='Paused'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 23 2 ' CQCGW:Type='Daily' CQCGW:Name='Test Daily Event' CQCGW:Id='FDD1717741F052EB-1C929DC67A6654C7' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 2 0 ' CQCGW:Type='Daily' CQCGW:Name='Refresh the videos list' CQCGW:Id='F4E3FE89CCF46226-E0461D89097995FF' CQCGW:State='Resumed'/>
<CQCGW

erEvInfo CQCGW

eriod='20' CQCGW:Type='Day' CQCGW:Name='Test Every X Days Event' CQCGW:Id='0C4B26C2E076AB62-B6A416CB0E92BE0E' CQCGW:State='Paused'/>
<CQCGW:SchEvInfo CQCGW:Mask='000000000011' CQCGW

HM='31 0 0 ' CQCGW:Type='Monthly' CQCGW:Name='Test Monthly Event' CQCGW:Id='A2D14FCD8A9C2518-11BEDED372FC066D' CQCGW:State='Resumed'/>
<CQCGW

erEvInfo CQCGW

eriod='24' CQCGW:Type='Hour' CQCGW:Name='Test Hourly Event' CQCGW:Id='999FB187C6B105C9-B129F0FCB5291A92' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='1000000' CQCGW

HM='0 7 30 ' CQCGW:Type='Weekly' CQCGW:Name='Alarm' CQCGW:Id='E63F10655425E011-5CF62E04EF750671' CQCGW:State='Resumed'/>
<CQCGW:SchEvInfo CQCGW:Mask='' CQCGW

HM='0 1 30 ' CQCGW:Type='Daily' CQCGW:Name='Refresh the pandora list' CQCGW:Id='F693ADB08FE31DA2-6DB022DA70E51EE4' CQCGW:State='Resumed'/>
</CQCGW:SchEvs>
</CQCGW:Msg>
Note that the Test Monthly Event is in fact now set to run on the 31st. Any idea what's going on? Thanks.
Brian