Learned a valuable lesson today-- after nearly eight hours of pulling my hair out.
Upgraded KEPServer from v4 to v5. I deleted the old server connection and made a new one with the same name to keep from having to make a bunch of changes. Mostly true but the item path changes a bit between v4 and v5. Well and fine. After the necessary changes to the item paths, all my tags were reading without issue. Yay!
However, any tag that I tried to write to threw an exception stating that the OPC Server was faulted. No indications of a fault anywhere in Kepserver or Ignition (apart from the console log).
After doing things like reinitializing KepServer, rebooting the system, deleting and recreating the connection, I finally discovered that the old connection was named KEPWare while the new one was named KepWare.
For reading: KEPWare = KepWare. Not case sensitive.
For writing: KEPWare != KepWare. Very case sensitive.
Final summary
For me, this was a case of not following a programming axiom: When putting it into memory, remember where you put it. Be aware of case sensitivity and save yourself some headache.
Later!