When a client starts the handshake with an invalid connection ID (i.e. sends a select with an argument prefixed with $), guacd immediately drops the connection. Although this is logged on the server said, the client is completely unaware of what's going on.
Beyond being just plain rude, this makes error reporting and handling difficult in some cases. The protocol specifically allows an error command to be sent by the server during the handshake, which would be very handy in this case; please expect a pull request addressing this in guacd, hopefully it meets the contribution guidelines
(Incidentally, the handshake implementation in guacamole-common's tunneling code does not actually handle error commands, expect a separate issue + pull request to address that.)