Not sure why this didn't occur to me before I wrote that last post but I tried the "pythonic" version of the code under the IronPython 2.6 Beta 1 release and it works!
lyr = Carto.LayerFileClass()
Works perfectly now. So IronPython 2.6 promises to be a viable option for extending ArcGIS. My enthusiasm has been renewed.