I asked a technical question on dba.stackexchange.com. I got a very good answer, but because I made many technical changes to my environment before I read the answer, I'm no longer in a position where I can actually test the answer. Is it still appropriate to mark this answer as accepted?
Formally, you can use any criteria you like to accept an answer. So your question is really about the most sensible way to decide.
If there's no prospect of you ever testing any other answer either, you might as well accept the one that seems most likely to answer your question.
Even if you can only test it later, it's reasonable to accept an answer for now and possibly change that later if you discover it doesn't really work.
That is really subjective. When you have the feeling that some answer solves your problem, then sure, accept it. You see, even when you later find: "err, it doesn't work, you can always un-accept". Or when a different, "better" answer comes in, you simply move the accept.
Your decision is not cast in stone!
Of course it might be useful to add a comment "this looks great, but I can't verify it right now, but just to be polite, accepting ... for now".
Also note: by accepting an answer, you basically "invite" others to maybe do that testing. And those people can also leave comments if they find "nope, doesn't work".