What are the permissions on your idle socket and the directory that the socket is in?
# ls -ald /var
drwxr-xr-x 21 root root 4096 Jun 17 21:36 /var
# ls -ald /var/imap
drwxrwsr-x 12 smmsp cyrus 4096 Nov 18 22:37 /var/imap
# ls -ald /var/imap/socket
drwxr-s--- 2 smmsp cyrus 4096 Nov 18 15:42 /var/imap/socket
# ls -ald /var/imap/socket/idle
srwxrwxrwx 1 root cyrus 0 Jun 17 22:24 /var/imap/socket/idle
...and my 'master' process runs as cyrus as you'd expect.
-c