Your color conversion does not calculate the alpha value correctly. AlternatingBackgroundColor(1) (when I start with an index of 0) is &cFFFFFFF3 in Dark Mode.
Also there has been a discussion on the prerelease channel about matching the looks of native Tableviews. @Thom McGrath found out that a ClearRect in CellBackgroundPaint helps to get similar results.
Somethings not right there. You shouldnt be getting something close to white for the second background color in dark mode. Have you tried requesting indexes 0 & 1 instead of 1 & 2?
I did in fact ignore the Alpha component of the color which was fine in light mode. Now with Alpha channel the color looks fine and the alternating colors are Ok.