I have 4 shipping methods.
The old customer gets only 2 methods. I've created the same customer with another email. It gets all 4 shipping methods.
I dived into code and DB table sales_flat_quote_shipping_rate.
Sorting by address_id we have: for old customer: 2 rate records; for the same new customer: 4 rate records.
Why does it happens? and where is rate record created?
I doesn't depends on address. It depends on product. If product has filled weight then customer cannot see some shipping methods. Now the question is why?)