Sachverhalt: Sachverhalt: A. S._, geboren 1964, war von Juni 1997 bis Ende Februar 1999 als Küchenmitarbeiter (zuletzt zu 50 %) bei der Firma X._ tätig. Von Ende März 1999 bis Ende März 2001 bezog er - bei einem Vermittlungsgrad von 50 % - Taggelder der Arbeitslosenversicherung. Ab Januar 2001 arbeitete er vorübergehend drei Monate mit einem Beschäftigungsgrad von rund 80 % in der Bäckerei Y._ und ab 1. April 2001 noch zu 50 % in der Firma Z._. Am 3. November 1999 meldete sich S._ bei der Invalidenversicherung zum Leistungsbezug an. Er litt an einer chronischen Lumbalgie bei grossbogiger linkskonvexer Torsionsskoliose der Wirbelsäule sowie muskulärer Insuffizienz (Bericht Rheumatologische Abteilung Spital Q._ vom 17. Juni 1999). Die IV-Stelle Luzern holte unter anderem den Bericht des Spitals Q._ vom 12. Februar 2001 über die Evaluation der funktionellen Leistungsfähigkeit (nachfolgend: EFL-Bericht) ein. Darin wurde als das arbeitsbezogen relevante Problem eine Funktionsstörung der Lendenwirbelsäule genannt. Man schätzte S._ unter einschränkenden Rahmenbedingungen zu 80 % arbeitsfähig. Mit Verfügung vom 16. April 2003 sprach ihm die IV-Stelle Luzern für die Zeit vom 1. Mai 1999 bis 30. September 1999 eine halbe Invalidenrente zu. Die dagegen gerichtete Einsprache wies sie mit Entscheid vom 20. November 2003 ab. A. S._, geboren 1964, war von Juni 1997 bis Ende Februar 1999 als Küchenmitarbeiter (zuletzt zu 50 %) bei der Firma X._ tätig. Von Ende März 1999 bis Ende März 2001 bezog er - bei einem Vermittlungsgrad von 50 % - Taggelder der Arbeitslosenversicherung. Ab Januar 2001 arbeitete er vorübergehend drei Monate mit einem Beschäftigungsgrad von rund 80 % in der Bäckerei Y._ und ab 1. April 2001 noch zu 50 % in der Firma Z._. Am 3. November 1999 meldete sich S._ bei der Invalidenversicherung zum Leistungsbezug an. Er litt an einer chronischen Lumbalgie bei grossbogiger linkskonvexer Torsionsskoliose der Wirbelsäule sowie muskulärer Insuffizienz (Bericht Rheumatologische Abteilung Spital Q._ vom 17. Juni 1999). Die IV-Stelle Luzern holte unter anderem den Bericht des Spitals Q._ vom 12. Februar 2001 über die Evaluation der funktionellen Leistungsfähigkeit (nachfolgend: EFL-Bericht) ein. Darin wurde als das arbeitsbezogen relevante Problem eine Funktionsstörung der Lendenwirbelsäule genannt. Man schätzte S._ unter einschränkenden Rahmenbedingungen zu 80 % arbeitsfähig. Mit Verfügung vom 16. April 2003 sprach ihm die IV-Stelle Luzern für die Zeit vom 1. Mai 1999 bis 30. September 1999 eine halbe Invalidenrente zu. Die dagegen gerichtete Einsprache wies sie mit Entscheid vom 20. November 2003 ab. B. S._ erhob hiegegen beim Verwaltungsgericht des Kantons Luzern Beschwerde. Er beantragte die Zusprechung einer nicht befristeten ganzen Invalidenrente ab 1. Mai 1999. Mit Entscheid vom 29. Juli 2004 hob das kantonale Gericht den Einspracheentscheid auf und setzte in Abänderung der Verfügung fest, dass die halbe Invalidenrente ab 1. Mai 1999 bis 31. März 2001 auszurichten sei. Es sprach dem Versicherten eine gekürzte Parteientschädigung von Fr. 350.- zu. B. S._ erhob hiegegen beim Verwaltungsgericht des Kantons Luzern Beschwerde. Er beantragte die Zusprechung einer nicht befristeten ganzen Invalidenrente ab 1. Mai 1999. Mit Entscheid vom 29. Juli 2004 hob das kantonale Gericht den Einspracheentscheid auf und setzte in Abänderung der Verfügung fest, dass die halbe Invalidenrente ab 1. Mai 1999 bis 31. März 2001 auszurichten sei. Es sprach dem Versicherten eine gekürzte Parteientschädigung von Fr. 350.- zu. C. S._ lässt Verwaltungsgerichtsbeschwerde führen mit dem Rechtsbegehren, es sei ihm mit Beginn ab 1. Mai 1999 ohne zeitliche Befristung eine halbe Invalidenrente auszurichten; zudem sei im vorinstanzlichen Verfahren eine ungekürzte Anwaltskostenentschädigung auszuzahlen. Die IV-Stelle beantragt die Abweisung der Verwaltungsgerichtsbeschwerde verbunden mit der Feststellung, dass die Rente wie verfügt per Ende September 1999 aufzuheben sei. Das Bundesamt für Sozialversicherung verzichtet auf eine Vernehmlassung. 