Yes, Select * is bad.  You do not state what language you will be using process the returned data.  Suppose you receive these records back as an array (not a hash map).  In this case, what is in Row[12]?  Maybe it was ZipCode when you wrote the app, but guess what happens when someone inserts a field SuiteNumber before ZipCode.
Or suppose the next coder appends a huge blob field to each record.  Ouch!
Or a little more subtle: let's assume you're doing a join or subselect, and you have no Text or Blob type fields.  MySQL will create any temp files it needs in memory.  But as soon as you include a Text field (even TinyText), MySQL will need to create the temp file on disk, and call sort-merge.  This won't break the program, but it can kill performance.
Select * is sacrificing maintainability in order to save a little typing.