cPanel now forces subdomains to be in the ~/public_html directory. The primary issue with this is that they're not properly ignoring the .htaccess in the root domain and only paying attention to the subdomain's .htaccess (or lack thereof).