1. Can I change the drawing order of the grid lines themselves? If so, how do you do it?
The problem is that every axis is painted at once. I.e. first grid and marks, then minor grid, then axis line with title. Since each axis does not know anything about the others it cannot be avoided that, like in your case, the following axis paints its grid over the axis line of the previously drawn axis. Changing the Z order does not help, it just paints the grid over the other axis line.
I don't know yet how complicated it is to split the drawing process of the axes into two runs: the first one to draw the grid and the second one to draw the axis line.
There is a workaround, though. You can add a TConstantLine series which you rotate and position by means of the "Linestyle" and "Position" properties, respectively, to be drawn exactly over the "broken" axis line. Uncheck its "Legend.Visible" property to avoid having it in the legend.
2. Can I move (reposition) the position of the axis titles? If so, how do you do it?
You can't - centering the axis title is hard-coded in the TChartAxis code...
But I found this location in the code and decided to extend the positioning code by a new TChartTitle property "Anchor: TChartTextAnchor = (ctaStart, ctaCenter, ctaEnd)". The current behaviour is Anchor = ctaCenter which centers the title along its axis. ctaStart moves the title to the start of the axis line, ctaEnd to the end. The new version has been committed to the Lazarus repository.
See in the attached screenshot what a chart created with the workaround for issue #1 and the fix for issue #2 looks like (NB: I am noticing here, that still some refinements are required for the title positioning...)