По поводу согласования версий: SMB сервер поддерживает все диалекты вплоть до 3.1.1. Сервер не может навязывать свой диалект. Т.е. если клиент поддерживает максимум 3.0.2, то согласован будет 3.0.2.
Чем выше версия, тем больше разных возможностей. Бывает так, что в одной из этих фич есть баг в клиенте или сервере. Тогда принудительный даунгрейд сервера поможет согласовать версию диалекта, на которой баг перестанет воспроизводиться. Но от первопричины проблемы это не избавит, заставив при этом всех остальных клиентов общаться на более древнем "языке".
Мы думали добавить возможность выбора диалектов и у нас есть возможность конфигурировать сервер таким образом, но не нашли достаточных оснований для реализации такой функции.