Well, I looked more precisely at logs when motion is detected:
[19:40:55.474855] SPI > 01 0D 00 04 00 12 07 56 01 30 03 FF D1 CB 62
[19:40:55.479676] SPO < 06
ZWaveLib UNHANDLED message: 01 0D 00 04 00 12 07 56 01 30 03 FF D1 CB 62
[19:40:55.536919] SPI > 01 09 00 04 00 12 03 20 01 FF 3D
[19:40:55.542637] SPO < 06
[19:40:55.593388] SPI > 01 09 00 04 00 12 03 60 0D 01 8F
[19:40:55.607147] SPO < 06
2015-02-28T19:40:55.6196920+03:00 HomeAutomation.ZWave 18 ZWave Node ZWaveNode.Basic 255.0
2015-02-28T19:40:55.6469310+03:00 HomeAutomation.ZWave 18 ZWave Node Status.Level 1
# Array index is out of range.
at ZWaveLib.Handlers.MultiInstance.GetEvent (ZWaveLib.ZWaveNode node, System.Byte[] message) [0x00000] in <filename unknown>:0
at ZWaveLib.ZWaveNode.MessageRequestHandler (System.Byte[] receivedMessage) [0x00000] in <filename unknown>:0
at ZWaveLib.Controller.ZwaveMessageReceived (System.Object sender, ZWaveLib.ZWaveMessageReceivedEventArgs args) [0x00000] in <filename unknown>:0
So the root of the problem may be in this unhandled messages and time took to proceed them.
Also, Gene, do you have any documentation on ZWave message format? I'm confused with headers (first 5 bytes), can't understand what does every byte mean.