The problem turned out to be with how I had configured my Azure project, which I will explain below. I also asked the question in MSDN forums and got some help there.
TLDR; In Visual Studio, my project was set up as an Azure Cloud Service with a WebRole. However, I was deploying the project to an "Azure Website" in production. There are important differences between an Azure Cloud Service with a WebRole and an Azure Website.
Here's some more details: Azure can host a website/webservice as part of two different project types and service configurations. When you go to your Azure portal, and you create a new service, you can either create:
- Azure Cloud Service
- Azure Website
An Azure Cloud Service may or may not contain a WebRole. If it does, then it will be accessible through an endpoint that looks like this http://servicename.cloudapp.net. An Azure Website, on the other hand, is hosted on an endpoint like this http://websitename.azurewebsites.net. The differences are far beyond just the domain names.
WebRole vs. Website
A WebRole (which you can create as part of an "Cloud Service" solution in Visual Studio) is connected to the rest of the Cloud Service that you have created and therefore can reference and use resources that belong to the Cloud Service, such as the settings and configurations that you store within the .cscfg files. These settings are correctly resolved and referenced by the CloudConfigurationManager library.
A Website, however, is a standalone project, much like a web application that you deploy to your IIS express. A website essentially maps to a "Web Application" solution in Visual Studio. The CloudConfigurationManager library won't know what to do with this type of project even if you referenced it in your web application.
Solution for Website
Anyway, I recreated my project as a "Web Application" solution this time (as opposed to "Cloud Service"). I stored my settings within the Web.Config (and the Web.Debug.Config and Web.Release.Config flavors):
<configuration>
<appSettings>
<add key="MyAppSettingKey" value="MyAppSettingValue" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5.1" />
</system.web>
</configuration>
And in code, I used the ConfigurationManager library:
string mySetting = ConfigurationManager.AppSettings["MyAppSettingKey"];
Further Discussion
Feel free to examine this MSDN thread for further discussion on this very topic.