A useful analogy for all of this is a couple of straight roads on a Euclidean plane. The roads cross and make an angle ##\theta## between them, and they have mile markers on them including one at the crossing point.
If you get to the first mile marker and look across you'll discover that you are level with the mile marker numbered ##1/\cos\theta## on the other road. This is true whichever road you are on, and it is not contradictory because people on the two roads are using different notions of "level with". They are both defining "level with" to mean "lying on a line perpendicular to my road", but since their roads are not parallel this produces notions of "level with" that are not parallel.
That's the underlying truth of time dilation. The roads diverging at angle ##\theta## become worldlines on a Minkowski plane diverging with rapidity ##\psi=\mathrm{tanh}^{-1}(v/c)##, and the "level with" lines become "simultaneous with" lines, and the Euclidean perpendicular and distance becomes the Minkowski orthogonal and interval. But the insight is the same - time dilation just comes from projecting regularly spaced lines orthogonal to your own path onto a path that is not parallel.
The complication when you add another dimension is just that the lines orthogonal to your path become planes orthogonal to your path. If B wants to calculate where his planes intersect C's path, all he needs is the angle/rapidity between those paths. But you haven't directly specified that - you have specified the angle/rapidity between the paths of A and B and of A and C, and the angle between the projections of B's and C's paths onto A's spatial planes. There's enough information there to do the calculation, but some rotation/boost matrices are involved.
This is also an insight into why naive time dilation calculations don't work for accelerating observers. Their paths are curved, so a plane that is locally orthogonal to the path at one point/event inevitably cross planes orthogonal to the path at other points/events - so they end up either missing out or double counting parts of other paths. An inertial observer has a straight path and may analyse an accelerated observer's path this way, but not vice versa.