I have two identical feature vectors. They have a distance score of 0.
I perform DBSCAN Clustering (using sci-kit) and they get different labels.
Is this expected behaviour?
In theory this could happen for border points, if and only if border point assignments are resolved with a random assignment. Which actually is more costly to do fair instead of a first-assignment-wins or last-assignment-wins strategy (and since the original DBSCAN did not do such a randomized assignment but first-assignment-wins, it is more appropriate to do it this way, too).
It could also be due to numerical precision. The two vectors have a distance score of 0, but for the nearest core point, one of them has distance > epsilon, and the other one < epsilon, due to numerical precision. But I couldn't even design a data set for this to happen on purpose, I doubt this happens on chance easily.
So this should be either a bug or an incorrect usage on your side.
Have you compared the results to the reference implementation of DBSCAN in ELKI? That seems to be somewhat the "official" version by now, and also appears to be carefully validated.