Was recently perplexed by why the nullable ApproximateMessageCount property was always null. Then discovered that you have to call FetchAttributes() before accessing this property.  Solved!