Hi Ryan,
Like if I run the same signal into both capture pins, the times are different by a bit, which I would think comes from the fact one pin is getting polled later than the other, which is fine, I can live with it
Yes, that's correct.

I think you're trying to bite off a bit too much at a time with this new version.
I'd start by getting the serial output going without any interrupts or anything, a simple Hello World kind of thing.
Then I'd get a LED blinking on what will eventually be the 60Hz output, just so you know you have control over that pin.
Then I'd get the TMR0 interrupt going.
Then.... ah you get the picture ;-)

For example, PortB.3 (your 60Hz output) is an ADC input and it "comes up" in analog mode, I don't see you setting it to digital (see ADCON1 register).
You say "All configs set properly" but I don't see you setting any TRIS register in the code. All pins comes up as inputs, TRIS bit needs to be cleared for them to become outputs.

/Henrik.