Да, этот код (если он помечен как C ++) очень неправильный.
Оператор new и удаление, как вы говорите, обработки необработанной памяти, а не объектов.
Однако эта статья посвящена конкретным компиляторам и конкретным проблемам реализации, поэтому может случиться так, что в этом ограниченном контексте код работает ... более того, MS не очень хорошо известна тем, насколько хорошо они заботятся о переносимом C ++ (на самом деле, наоборот) так что может быть , такого рода плохой код (или был в 2002 году) на самом деле не только работает, но даже является разумным решением.