From what I know that should give you the same thing.
Note that they might not give bit-perfect same result, but that is expected because of float computation.
You should check that your model converge for different random seed and make sure that it is not just by chance that one work and not the other.
Can you write a small code sample where the two implementation give you significantly different values after forward and backward?