I have a mobile client, a web client and a desktop client and I regularly lose instant messages because the Lync server routes them to the last logged in client instead of all clients.
Or more accurately Lync offers the IM to all signed in devices to be received. If the IM is not received within a period of time, Lync defaults to accepting it on the last active endpoint.
In practice what happens is you do something with the mobile client, then move to the PC and don't do anything with the PC client meaning that the mobile client is still classed as the last active endpoint.
You then potentially miss the IMs because they can timeout (e.g. if you are talking to someone and not looking at the screen) then they default to going to the mobile client which is in your pocket and you don't notice.
There should be an option for the IMs to be accepted by all clients.