I think you're getting confused about the meaning of "arbitrary constants" here. In some sense, the word "arbitrary" is to blame: I call them "constants of integration". But they are "arbitrary" in the sense that, no matter what they are, the function you have will still satisfy the differential equation. So why not set them all equal to 0?
You need to consider why you're solving this equation. If you just want to find any old solution to that equation, then the solution x = 0 will do. But you don't necessarily just want to find any old solution. If you're talking about a real particle, in a real quadrapole magnet, with a real position that you need to calculate, then you need to know the particular solution of that equation that corresponds to it. Mathematically, the process is simple: find all the solutions, then somehow pick out the one you want.
Constants of integration encode really important information, such as where the particle started, or how fast it was going and in what direction, and so on, all of which are going to affect its eventual position. Mathematically, nothing especially deep is happening. You have found all possible solutions to that equation - parametrised by four constants - in an attempt to find the one that corresponds to the particle you care about. This is a whole bunch of solutions, all of which correspond to hypothetical particles, all of which started in different places, at different speeds, with different accelerations, etc. But then, you decided (for no reason that was anything to do with the behaviour of your particle) that you didn't want to look at all the solutions after all, and threw most of them away. How do you know you didn't throw the one you want away?
So, the answer is: either you're lucky, and the solution you want is indeed (0, 0, 0, $x_0$) (but you should check this!), or you don't have enough constraints to pin down the solution you want exactly, and you can't calculate the position of your particle yet, because you don't know enough about how it started.