I have never had this problem (different p-value for b and OR) in either SAS or Stata. The p-values of b and OR have always been equal for me. The only time I would get different p-values is when I ask for the marginal effects.
Stata example using the 1978 automobile data that comes with the package:
Coefficients
. webuse auto
(1978 Automobile Data)
. logit foreign price mpg weight
Iteration 0: log likelihood = -45.03321
Iteration 1: log likelihood = -22.244792
Iteration 2: log likelihood = -18.069284
Iteration 3: log likelihood = -17.184699
Iteration 4: log likelihood = -17.161975
Iteration 5: log likelihood = -17.161893
Iteration 6: log likelihood = -17.161893
Logistic regression Number of obs = 74
LR chi2(3) = 55.74
Prob > chi2 = 0.0000
Log likelihood = -17.161893 Pseudo R2 = 0.6189
------------------------------------------------------------------------------
foreign | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
price | .0009264 .0003074 3.01 0.003 .000324 .0015288
mpg | -.1210918 .0956855 -1.27 0.206 -.308632 .0664483
weight | -.0068497 .0019996 -3.43 0.001 -.0107688 -.0029306
_cons | 14.42237 5.414367 2.66 0.008 3.81041 25.03434
------------------------------------------------------------------------------
Odds ratios
. logit foreign price mpg weight,or
Iteration 0: log likelihood = -45.03321
Iteration 1: log likelihood = -22.244792
Iteration 2: log likelihood = -18.069284
Iteration 3: log likelihood = -17.184699
Iteration 4: log likelihood = -17.161975
Iteration 5: log likelihood = -17.161893
Iteration 6: log likelihood = -17.161893
Logistic regression Number of obs = 74
LR chi2(3) = 55.74
Prob > chi2 = 0.0000
Log likelihood = -17.161893 Pseudo R2 = 0.6189
------------------------------------------------------------------------------
foreign | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
price | 1.000927 .0003077 3.01 0.003 1.000324 1.00153
mpg | .8859526 .0847728 -1.27 0.206 .734451 1.068706
weight | .9931737 .0019859 -3.43 0.001 .9892889 .9970737
_cons | 1834670 9933575 2.66 0.008 45.16896 7.45e+10
------------------------------------------------------------------------------
Marginal effects
. margins,dydx(*)
Average marginal effects Number of obs = 74
Model VCE : OIM
Expression : Pr(foreign), predict()
dy/dx w.r.t. : price mpg weight
------------------------------------------------------------------------------
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
price | .0000686 .0000136 5.04 0.000 .0000419 .0000952
mpg | -.0089607 .006596 -1.36 0.174 -.0218886 .0039672
weight | -.0005069 .000055 -9.21 0.000 -.0006148 -.000399
------------------------------------------------------------------------------
.
As you can see, only the p-values of the marginal effects are different from the coefficients (but in this example, the conclusion does not change)