I was crazy over-thinking this. Here's the solution I came up with in case anyone else is trying to do this:
- (void)sChart:(ShinobiChart *)chart alterTickMark:(SChartTickMark *)tickMark beforeAddingToAxis:(SChartAxis *)axis
if (axis.axisOrientation == SChartOrientationVertical)
NSUInteger axisIndex = [[chart allYAxes] indexOfObject:axis];
SChartLineSeries *series = (SChartLineSeries *) [chart allChartSeries][axisIndex];
tickMark.tickLabel.textColor = [[(SChartLineSeries *) series style] lineColor];
This is fairly unsafe code; if you're not absolutely certain that there will be at least as many series as axes, you should add some range checking to make sure the series actually exists before trying to retrieve it from [chart allChartSeries].