I've never had any problem with Chang's explanation: Age combined with drink.
He was three months away from retirement suddenly and very unexpectedly thrown into a very high stakes mission for which he was not properly prepared, and after a night of heavy drinking finds himself trying to save a man's life without knowing exactly what is necessary to save him in the first place (again, as has been stated, there's no particular reason to believe anyone in the entire Federation would have the necessary knowledge to save Gorkon's life).
I also don't see much canon issue with Kirk seriously mistrusting Klingons (really, I find the 'racist' label somewhat overstated even within the story of TUC), or with Spock being willing to force someone to answer questions.
I understand why some would've liked the Valeris character to have actually been Saavik (I always thought this was simply because the actress wasn't available, or is that not the case?), but I don't see any reason to call Spock's reaction to her out of character. Just because we never saw Valeris before doesn't mean Spock couldn't have a very signicant relationship with her.