"You can't deny that getting rid of the php start and end tags has made things a bit neater and easier to read. "
It depends where you do your development. If (like a lot of people) you use an IDE that can syntax high-light HTML correctly (like Homesite, Zend Studio, etc) then breaking out of PHP allows this functionality - which embedding it into your code does not.
As for being "neater" it's a matter of personal preference, there's no sound programming/logic argument for it.
You have to weigh things up, the same way of doing something isn't always right for every situation.
"I'm fairly sure the curly braces, although a pointless operation in this example are necessary when it comes to putting $_SESSION['vars'] or $multi['dimesional']['arrays'] in slabs of code like that."
Yes agreed, you need them if you want to quote multi-dimensional array elements directly in a string otherwise you get a syntax error! But your example didn't!

It was just wrapping a single var in {} which is, I'm sorry, utterly pointless.
"And as for sticking it all in a variable, whilst in the above example it may not be necessary it would be if I wanted the code to be generated by a function."
Well, yes.. or if you wanted to pre-process the data before displaying it. But unless you actually need to do that, it's still overhead that has no direct benefit. Even in your example above it's pointless sticking it into $htmlContent because all you're doing is echoing it right out again! Might as well just do that in the first place.
I see where you are coming from and they're viable means to handle html output (and there are many other ways) - just not necessarily relevant to the origins of this thread.
In PHP you can skin the same cat a milion different ways!