The reason you didn't get points - as you highlighted - was the Expedia Special Rate. If you booked via Expedia at standard rate then you may have got points, since points do seem to be awarded for bookings via agents which book into published rates. Could be wrong, though, but I did get points for a booking via Amex as mentioned above.