Does SELECT * create additional overhead even when you want all columns? I have read that SELECT * is typically undesirable in that it creates additional overhead. Is this the case if you want to retrieve all columns?

I have a extremely badly performing queries, which is made up of nested 'SELECT *' queries. In all cases I do want all the columns returned to me though...
Strictly answering your question, no there is no additional overhead when you want all columns returned.  But it is undesirable as you mentioned. I do not want to reiterate why it is undesirable as most of the points are discussed in this answer.