Pending concrete info from the logs of both the subdomain and second-level domain, my best guess is that the problem is caused by, either:
- having nested/overlapping document roots (which Apache generally does not like),
- the subdomain is misconfigured in Apache
- the Drupal install is configured to use the first web root
Generally web apps are designed to be accessed from a single web root. If you access it from another web root, the routing or URL rewrite rules could cause errors.
You really shouldn't have your domains set up like that anyway. Besides causing potential glitches, it's also insecure. I prefer a directory structure like this:
~/htdocs/domain1.tld/wwwroot
~/htdocs/domain2.tld/wwwroot
~/htdocs/sub.domain1.tld/wwwroot
~/htdocs/sub.domain2.tld/wwwroot
This way, you can keep secure files for each site/app outside of its doc root (as well as install shared libraries). In your current configuration, you could keep files above subdomainroot and it would still be accessible because it's in your parent domain's doc root.