Não sei dizer exatamente o problema, mas vou sugerir algumas alterações na sua configuração, baseadas em servidores Samba aqui do serviço que têm funcionado muito bem. Obs.: nem todas as alterações têm a ver com performance.
[global]
# O backend de senhas TDBSAM é muito mais moderno e completo do que o SMBPASSWD, e apresenta uma performance melhor, especialmente em ambientes com muitos usuários.
passdb backend = tdbsam
# É bom especificar um comprimento mínimo para senhas...
min password length = 6
# Anuncia a máquina como servidor de horário (útil para você poder sincronizar o relógio das estações da rede)
time server = Yes
# A diretiva IPTOS_THROUGHPUT tem por objetivo tornar o Samba mais robusto na transmissão e recepção de dados. Eu acho que é esse carinha que vai resolver o teu problema :-)
socket options = TCP_NODELAY IPTOS_THROUGHPUT SO_SNDBUF=8192 SO_RCVBUF=8192
# Faz cache da árvore de diretórios, o que poupa processamento do servidor.
getwd cache = yes
# Faltou o %u no teu script (se bem que esse teu Samba não está como PDC, logo isso não faz diferença)
add machine script = /usr/sbin/adduser -n -r -g machines -c "Estação Samba" -d /dev/null -s /bin/false %u
# Já que teu Samba é um mero cliente da rede, sugiro que você diminua o OS Level para 16, que é o do Windows NT Workstation
os level = 16
# E da mesma forma, anuncie a máquina como sendo um Windows NT Workstation
anounce as = NT Workstation
# Corrige a exibição de acentos e outros caracteres da nossa língua
unix charset = iso8859-1
display charset = cp850
Faça testes e retorne o resultado.
[]s