As much as the question of 'at cost' matters, you also have to look at the way it was funded -- via bonds.
If we decide to offer "Slashlight Highspeed Internet for Towns" we have to raise money for the business venture. We will be faced with a much higher bar if we want to try and raise venture capital -- questions about profit, business plans, value, etc.
If we go to a bank to borrow the money...yeah right. Banks might lend you some money against equipment (that is, the things they could take back) but not against operational expenses like payroll and power bills.
And in the end, with bonds, the city IS on the hook for the money. If the venture doesn't work, then those bonds have to be paid somehow.
Now, if the cities want to use bond money to loan money to private companies, then that's cool. I can think of a lot of businesses I would like to get into but can't because I just can't raise the money...and I know I'm not alone.
But in reality, when public entities get into business, because they simply have a different risk model (in other words...well, if the business fails, then they'll just have to raise taxes to pay the bonds) they can fundamentally take on more risk and lower profit margins than private businesses, who have to answer for their use of money.