1. They held special services for Christmas.

2. They held special services at Christmas.

3. They held special services on Christmas.
--------------------------
Q1: Are they all correct?
Q2: Were special services held on Christmas Day in #1? Or were special services held on other days in rememberance of Christmas Day? Or Are both OK?

6 answers

1 and 2 could mean during the Christmas "season", not any specific day. #3 means on Christmas Day specifically.
All three are grammatically correct. :)
Thank you.
What about the following?

4. He gave me a book on my birthday.
5. He gave me a book for my birthday.
(In #5, Did he give me a book on my birthday? Or did he give me a book before or after my birthday? Are both OK? What is the meaning of 'for' in #5? Does 'for may birthday' modify 'gave' or does 'for my birthday' modify 'book'?)
"on" specifies that the gift was given on the date of the birthday. "for" does not specify a particular day, just that it was in observance of the birthday. Both are correct. The prepositional phrase modifies the verb "gave". It's an adverb phrase.
Thank you for your help. One more question...
6. I got a nice gift on my birthday.
7. I got a nice gift for my birthday.
(In #6, I received a gift on the date of the birthday. Is it right? In #7, is it different as you mentioned before? What about the part of speech of 'on my birthday' and 'for my birthday'? Do they modify 'got' or 'gift'? Are they adverbial phrases or 'adjective phrases'?)
http://www.jiskha.com/display.cgi?id=1489002707#1489002707.1489005327