The mail server where the room resides is not the server where the SchSrvRetrieveExt call is made, but there are no error messages logged by schedule api on either server for any of the requests.
Today, SchSrvRetrieveExt has a good handle and gets good data for the interval 2015-02-10T00:00:00 to 2015-03-12T00:00:00
and SchSrvRetrieveExt returns a null handle and so gets no data for the interval 2015-02-11T00:00:00 to 2015-03-13T00:00:00
when asking for both the user and the room's schedule. The mail server's log of the 2 requests are identical (ignoring handle values, and differing # of 'out of bounds' messages based on start time. (You're right, they are correct - I messed up pairing the 2 servers log entries before.))
The logs of the 2 requests on the server making the SchSrvRetrieveExt call differ only in that the bold text appears only in the successful first request interval:
SchWaitRqst> Request completed on container 20000299h
SchMsgQHandles_Free> InputQ: 11C48h
SchMsgQHandles_Free> OutputQ: 11B7Ch
SchContainer_Free> Called with hCntnr = 20000299h
SchContainer_Free> Ref: 0
SchContainer_Free> Freeing tree.
SchContainer_Free> Zeroing bMain: [1:1520]
SchContainer_Free> Freeing hCntnr = 20000299h
SchSrvRetrieveWait> Return 4 new schedules
SchSrvRetrieveWait> Returning 20000294h
SchSrvRetrieveWait> and flagging as completed
SchContainer_Free> Called with hCntnr = 20000298h
When asking for just the room having the 30 day restriction, there is data for requests starting 2-10, and a null handle if starting 2-11.
When asking for just the person, there is data for both intervals. Adding the room to the first interval works as it should, adding it to the second interval causes it to return a null handle.
I can send you the full logs from both servers if you would like.