Shiny pokemon generation seems to work for a while. After writing them to a save a couple times (I haven't kept track of how many times a given pkm can be imported to a save file before this happens), they're no longer shiny and I need to 'reset' them. Is this an actual bug or am I doing something wrong?
Here are the two I most recently tried to import to SS; they came over as shinies in Black no problem.

So you're saying that the problem apparently occurs if the Pokemon are put into a(n) HG/SS save file and that save file is loaded/saved a few times with no modifications whatsoever? That's very, very hard to believe with the current design. If you can find a way to reproduce the problem, and provide the steps you took to do so, I'll look into it.
Do other changes stick?
Everything checks out with the .pkm file (proper shiny PID and Shiny box checked), but a save file that I insert it into results in a nonshiny. I'm no longer using Pokesav to insert them.
I have some free time tomorrow so will go through various steps and see what happens. The Ditto was ripped from an old (hacked) save file, while the Umbreon was created in Pokegen.

I'm deleting this thread in a few days if you don't further clarify.
The issue with one of them was a PID problem that was my fault; my Backup Adapter had a (literal) meltdown and I have to get the replacement before I can test various fixes.

Well, the Ditto was my fault (didn't use the PID finder for a shiny); for the Umbreon the PID is the same as when I originally created it, but the Shiny box is not checked and grayed out. When I use the PID Finder to re-find it, the Shiny box is not checked but filled in completely (clearing and re-checking the box works).
...hard to explain, although there's probably a user error in there someplace. I'll try sending it over via ShinyGTS and see if that sticks.

Everything you just described is working as intended. Read the tooltips.
Bookmarks