The words "schmeichelhaft" and "schmeichlerisch" seem to have the same meaning. Is there any difference in connotation between these words, e.g., contexts when you would use one and not the other?
I wouldn't consider them the same. A compliment is "schmeichelhaft" while "schmeichlerisch" is rather used adverbially, a little like "smooth-tongued" maybe. I don't think you can exchange the two words in the following sentences:
Er machte ihr ein sehr schmeichelhaftes Kompliment.
Mit schmeichlerischen Komplimenten wollte er sie überzeugen.
As for connotation, I would say that I feel there is a slightly negative one when "schmeichlerisch" is used, while "schmeichelhaft" is positive.
I'd like to add another aspect to Anke's answer:
To me, "schmeichelhaft" is more about how the compliment is received - recipient's POV, usually positive
while "schmeichlerisch" is more about how the intention behind the compliment is perceived - giver' s POV, usually negative.
It seems to me that there is a similar difference if you consider two instances of "flattering" (adj. vs. verb) in English:
If a compliment or a dress are flattering (adj.), it's understood that this is a good thing.
If a person is flattering (verb) someone, this has somewhat negative overtones of dishonesty, ulterior motives, etc.
EDIT: User unknown has alerted me to the fact that there apparently are people who do NOT associate positive/negative nuances with these two words - nevertheless, please be aware that most of us do and will automatically infer a certain degree of censure if you describe someone's behaviour as "schmeichlerisch".
schmeichelhaft attributes what it's being said, while schmeichlerisch attributes how something is being said/how a person is saying it.
So one attributes the message itself, while the other really attributes the messenger.
For example a compliment can be schmeichelhaft, while the person making the compliment would be schmeichlerisch in making the schmeichelhaft compliment.