It's particularly odd because he was writing for DirectX/x86, and thus had lots of power compared to the contemporary console hardware. Wolf3D(1992) used C; Ultima 7(also 1992) used C++. RCT came out in 1999, when this transition was essentially complete, with the possible exception of a few holdout platforms, e.g, Game Boy Color.
On the other hand, Sawyer did have some rationale to continue going all-ASM, since he had been building up the engine code over the course of the decade, and when he first made it for Transport Tycoon(1994), hand-optimizing the rendering code was probably the only way to achieve a smooth high-res isometric renderer.
You raise a valid point - certainly for the Amiga 500 you knew you only had a certain number of platforms and CPUs and you could even make snap judgements like, "No-one's going to run Stunt Car Racer on a top-end Amiga 3000." - thankfully cookie didn't and Stunt Car Racer was awesome regardless of platform, but Mercenary on the other hand was never built with an 060/66 Blizzard board in mind and was impossible to play.
I think the PC world encouraged the use of higher level languages as waiting for VBL's became more important than squeezing all the juice you could because of the potential variations.
Thanks for your comment, it's inspired a new sense of respect for 486 progrmamers (25/33/50? SX, DX? - we can't worry about that, we have TIE fighters to render!)
On the other hand, Sawyer did have some rationale to continue going all-ASM, since he had been building up the engine code over the course of the decade, and when he first made it for Transport Tycoon(1994), hand-optimizing the rendering code was probably the only way to achieve a smooth high-res isometric renderer.