Eu tive o mesmo problema e resolvi também modificando a linha 543 de vncserver
(sub CheckDisplayNumber) para ler como:
if (!bind(S, pack('S n x12', $AF_INET, 3388 + $n))) {
É o procedimento que verifica se a porta solicitada está livre ou não.