Promotions or not, if you have stayed at ANY Marriott property and have paid either with cash, credit card you will and SHOULD have received points. This is true for any friends or family members that you booked and YOU paid, you should get the points. If you stay at ANY Marriott property on points, then you will not receive any points.
Until early last year the Marriott Friends and Family rate was a non-revenue, non-points rate. The change was made sometime in 2009 and now points are earned on hotel room rates, but not taxes, and counts as a stay for elite qualification. This assumes you stayed, not someone else, of course, to earn the points and the night. Nonetheless many hotels have not gotten the word and when folios are prepared, the points are shown as zero. The Marriott Associate rate never earns points, since it is highly restricted, and Associates are not entitled to be members of Marriott Rewards (see the terms and conditions). I think the issue stems from the former policy of lumping Friends and Family and Associate Rates together as non-points earning ones, and some hotels have not gotten the new policy fully implemented. As for fixes, I would certainly contact Marriott Rewards by email or phone and tell them this is a missing stay. If you got a "Thanks for staying" email I would have that ready to send them. They will contact the hotel for you if necessary and then fix the problem. Let us know what happens, and thanks for posting this question.