Unable to write to ndf after shrink emptyfile
What I learned,

I Shrunk emptyfile back to .mdf no problem, but when I tried to shrink emptyfile back to Data3.ndf same error.

It seems once you have shrunk emptyfile from an .ndf you have to delete (Remove) it, you can't write to again.  

Additionally if you try to recreate the ndf with the same name, you will not be able to, until you run a t-log backup.  

Optimal, don't expect to reuse an ndf once you have shrunk emptyfile.  If you need to write back to an ndf use a different name.

If you do need (or want) to write to the same ndf name:


Delete the ndf file (On Properties GUI select file and click remove)
Run a t-log backup
Recreate (Add) the ndf file