I've been running Emacs 22 and 24.4 on Windows 10 for years, without problems writing the init file. The doc says that Emacs searches for ~/.emacs, ~/.emacs.el, and ~/.emacs.d/init.el, in that order.
On Windows, ~ (the HOME environment variable) is not defined by default, so you must define it through Control Panel, System, Environment Variables, if you want to use those locations.
Otherwise, by default, Emacs 22 and 24 will search in /Users/name/AppData/Roaming/ for .emacs.
I do know that trying to save files to Windows (all versions) from Emacs often requires using double backslashes in the pathnames that you formulate in code. I've found that double backslashes are the only trustworthy way.
So to answer your question, I can assert:
Windows 10 is capable of .emacs filenames, you don't require _emacs.
Windows 10 is capable of .emacs, in both HOME=/users/name/.emacs form, and in the AppData/Roaming/.emacs form. I don't like the AppData/Roaming location, because /users/name/AppData is a hidden directory on Windows, which makes it awkward to work with.
You might check to see if you have a HOME environment variable defined, and what it points to (maybe a location with bad permissions?). You might check your /users/name/AppData/Roaming/.emacs path for permissions all the way down, too. (The original post doesn't exactly specify the HOME part of the ~/ references.)
This might sound awful (but it has happened to me), but you might check to see that you have exactly 1 startup file, in exactly 1 location, and that your main init file code doesn't reference or reload any other .emacs files from any other places. I use three machines (win10, win10, Mac OSX, and share almost everything through Dropbox), and when installing new versions of Emacs I sometimes end up referencing old files, in old locations.
One of the handiest tips I can pass on for this particular problem is to color the background a different color in the init file, as the first line. Then if you see unexpected colors, you will know you're not picking up (or trying to write out--yes, that's happened to me too) the wrong .emacs file.
Now my policy is to have .emacs files with only 1 line in them -- and it loads the big shared init file where I look at machine types and do machine-specific setups. That might work for you too, since then your .emacs file won't change much at all, for the life of the machine. Only the big shared (ie, secondary) init file will be regularly modified, and that can be located anywhere you like.
Hopefully some of this might help. Good luck!