Should matching always reduce the effect of variates in subsequent regression models? This query is cross posted from the Statalist forum where it did not prompt any responses.
I am trying to understand whether an intervention ("tha") is associated with increased 12-month mortality ("rip") using StataSE 13.0. My first step was to match the groups across a number of variables ("age", "sex", "preopasa", "premob", and "origin") using the "cem" package for coarsened exact matching. My understanding from the literature around CEM is that researchers should then continue with their analyses (e.g. multivariable regression) as normal but using the matched groups.
When I run the matching code:
ssc install cem
cem age sex preopasa premob origin, treatment(tha) autocuts(fd)

It appears to work and almost all patients (29,181/29,267) are allocated to 56 matched strata. Stata creates a number of new variables: cem_strata, cem_matched, and cem_weights, which seems to be what is expected.
To my non-statistician mind, I imagined that that those co-variables would then be become less significant in any subsequent regression models. However, this doesn’t appear to be the case.
When I run code that I believe should run a logistic regression model using the matched weights:
logistic rip age sex preopasa premob origin tha [iweight=cem_weights]


I get an output that is barely any different – and in some cases shows bigger odds ratios / wider confidence intervals – than when I run code without the CEM weights:
logistic rip age sex preopasa premob origin tha


I think that I have used the cem package correctly (at least following the package instructions) but wonder whether I am right to be concerned that there is still so much residual confounding in the (apparently) matched dataset.
Can anyone spot what might have gone wrong and/or suggest a way of formally examining whether or not the match process worked?
 A: Here is the key intuition: balancing your variables does not affect their relationship with the outcome. If the coefficient of X on Y is 3 in the population, it will be 3 in the matched group as well. The point of using matching is that if there is actually a curvilinear relationship in the population, a linear approximation will perform better in the matched sample than in the whole sample, which means you don't need to get the functional form of the relationships between your covariates and the outcome correct to isolate your treatment effect; ideally, you won't even need to include the covariates in your outcome model to get an unbiased estimate of the treatment effect.
After matching, what you should see is that the relationships between the covariates and the treatment disappears. If your covariates are still related to the treatment after matching, your matching has failed, and you should try another method. 
So what you should check is whether the relationship between your covariates changes between the matched sample and the full sample. If the relationship weakens, then great; you have reduced confounding and basically any outcome model will give you an unbiased estimate of the treatment effect. You can also verify this yourself: does removing a covariate from the outcome model change the treatment effect in the matched sample? (It shouldn't.) What about in the unmatched sample? (It should if that variable is highly related to both treatment and outcome).
