There are several different parts here - setting up DNS records and then getting Apache to respond to the request.
Do you have a CNAME configured for the client? Please note: you cannot configure CNAME on weareunited.com, it must be on store.weareunited.com or some other host name that is not the root domain.
You don't seem to understand how CNAME works. Too simplified version when the user asks store.weareunited.com for their local name server (for example, the name server that is located in the ISP of the end user. For me at Comcast, this is usually Comcast NS in Beaverton, OR. The local name server has not resolved the name yet host and does not have it in the cache) will query the root name servers to determine who is responsible for the domain. Then the local namserver will query the domain name server to get the record. An entry can be an A entry, which is an IP address, or a CNAME that points to a different host name.
When the local names get CNAME, he will start this process again to get the A record. As soon as he finally gets the A record with the IP address, he will return the IP address to the end user browser and the web browser will send an IP request -address.
The end result: the web browser obtains an IP address, and then makes a request to this IP address using the original host name as the host header store.weareunited.com. Therefore, Apache must be configured to receive requests for the hostname store.weareunited.com.
PHP doesn't care about what the host name is unless you check for environment variables like $ _SERVER ...
You can get your customers to configure CNAME at joshstuart.com.au. You could create additional host names, for example weareunited.joshstuart.com.au, or create a wildcard, and then your customers set the CNAME target for this unique host name, but why bother? I would just:
store.weareunited.com. 3600 IN CNAME joshstuart.com.au.
While joshstuart.com.au then passes the IP address to your web server, CNAME will work. As I mentioned above, Apache will see a request coming to store.weareunited.com, so you need to either set up a virtual host for that hostname, or create a shared ghost, as Berkeley mentions (although I'm not sure if the apache directives that you would use to ensure that the request is then matched with the appropriate files for the domain ...).