Out of interest when working with SQL statements should I always use the fully qualifed column name (tablename.columnname) even if only working with one table e.g.
No.
You should always alias the tables, and you should always qualify your column names with the table aliases.
select p.FirstName, p.LastName, p.SSN from Person p where p.ID = 345