This issue is not really specific to SQLExpress, it just seems that way because SQLExpress is typically installed as a named instance so the syntax is machinename\namedinstancename for both SQLExpress or SQL 2005. The difference is that usually SQL 2005 is installed as a default instance instead of a named instance.
The instance name is determined during the installation and SQLEXPRESS is just the suggested instance name during the default install of SQLExpress so if its installed on Win 2003 using all the defaults machinename\SQLEXPRESS will work but if a different instance name is specified during installtion that instance name must be used. Sometimes there will be other products already installed that rely on SQLExpress so the default name may already be in use and a different instance name will be suggested/used to prevent a clash with an existing one. So there is no guarantee that it will always be machinename\SQLEXPRESS
When SQL 2005 or SQL Express is installed as a default instance then its just machinename
Best,
Joe