Anyone have an idea why I'm seeing the following behaviour in response
to traceroutes on my network?

Here's the setup

pc A ->Ethernet-> Cisco Router A ->ATM-> Cisco Router B ->T1-> Cisco
Router C ->Ethernet-> pc B

A traceroute from pc B to pc A shows all expected hops, Routers C,B,A
A traceroute from pc A to pc B only shows two hops, Routers A and C
A traceroute from pc A to pc B using the source route option with
router A as host shows all three hops.

There is no direct path between routers A and C so this is not a case
of seperate one-way paths.