Main issue with 9x is the previously mentioned user account needing to be used for logon, and if you are using NTLM2 then you need to either allow NTLM and LM on your server or install the bits to allow NTLMv2. For DOS it's likely just LM. Use an 8 character password. In fact make it a very simple one when first settings things up.
If you've locked down the windows firewall or are using a 3rd party firewall make sure you are allowing ports UDP: 137,138, TCP 139 for <2000 inbound to whichever machine is serving the files.
Someone needs to load up each windows version in a VM and write a guide and a reg export. This isn't very difficult but we get too many questions so it must be. Also there's always FTP.
I use my FreeNAS server to host my files, works fine with 95+. Don't need to jump through any hoops.
If you want to be protected against wannacry type attacks then you'd be better off hosting your files from a nix machine and disabling SMB1 on all your windows machines except for the ones that need it.
From the last time I configured my FreeNAS server a couple of years ago. (FreeNAS has a GUI for changing samba settings, for Linux just edit the .conf file):
SYSTEM->TUNABLES (MIGHT NOT BE NECESSARY)
Variable: freenas.services.smb.config.server_min_protocol
Value: NT1
Type: sysctl
Comment: SMB1
SERVICES->SMB
Auxilary Parameters->
min protocol = NT1
lanman auth = Yes
client lanman auth = Yes
client plaintext auth = Yes
The above options (one may only be necessary) will allow access to Freenas from 9x clients. The below smbpasswd command will allow access to shares requiring authentication. If the below smbpasswd does not work then your only option is to setup another share and allow guest access:
Create guest share and allow guest access. Change permissions for "Everyone" to write access
From FreeNAS command prompt:
smbpasswd -a username
Use the same username on guest as on the FreeNAS host