Sachverhalt: Sachverhalt: A. Der 1947 geborene F._ ist im Bereich Rohrreinigung Inhaber einer Einzelfirma. Am 10. Mai 1995 meldete er sich zum Bezug von Leistungen der Invalidenversicherung an. Nach ärztlichen Angaben litt der Versicherte seit 1992 an einer Agoraphobie mit Hyperventilation und zeitweiliger Bewusstlosigkeit, was ihm in seinem Beruf verunmöglichte, in Kanäle und Schächte einzusteigen sowie allein Auto zu fahren. Nach Prüfung seines Gesuchs wurde ihm mit Verfügung vom 24. September 1998 wegen langdauernder Krankheit ab 1. Mai 1994 eine ganze Rente zugesprochen, wobei der Invaliditätsgrad auf 70 % festgesetzt wurde. Gestützt auf die in einem Revisionsverfahren durchgeführten Abklärungen verfügte die IV-Stelle Bern am 27. September 1999, der Versicherte sei wieder in der Lage, ein rentenausschliessendes Einkommen zu erzielen, weshalb die Versicherungsleistung auf Ende des nachfolgenden Monats aufgehoben wurde. Mit Entscheid vom 4. Februar 2000 hiess das Verwaltungsgericht des Kantons Bern die dagegen erhobene Beschwerde insoweit gut, als in Aufhebung der angefochtenen Verfügung die Sache an die IV-Stelle zurückgewiesen wurde, damit diese nach vorgängiger rechtsgenüglicher Anhörung des Versicherten neu verfüge. Nach neuen Abklärungen und Durchführung des ordentlichen Bemessungsverfahrens ermittelte die IV-Stelle mit Verfügung vom 29. November 2001 eine seit mindestens 1997 bestehende, invaliditätsbedingte Erwerbseinbusse von 35 % und hob die Rente auf Ende des den Zustellungsmonat der Verfügung folgenden Monats auf. Zur Begründung wurde insbesondere ausgeführt, dass bezüglich der Mitarbeit der Ehefrau sowie eines zusätzlichen teilweise behinderungsbedingt einzusetzenden Mitarbeiters ein Personalmehraufwand von Fr. 101'172.- berücksichtigt worden sei. Gestützt auf die in einem Revisionsverfahren durchgeführten Abklärungen verfügte die IV-Stelle Bern am 27. September 1999, der Versicherte sei wieder in der Lage, ein rentenausschliessendes Einkommen zu erzielen, weshalb die Versicherungsleistung auf Ende des nachfolgenden Monats aufgehoben wurde. Mit Entscheid vom 4. Februar 2000 hiess das Verwaltungsgericht des Kantons Bern die dagegen erhobene Beschwerde insoweit gut, als in Aufhebung der angefochtenen Verfügung die Sache an die IV-Stelle zurückgewiesen wurde, damit diese nach vorgängiger rechtsgenüglicher Anhörung des Versicherten neu verfüge. Nach neuen Abklärungen und Durchführung des ordentlichen Bemessungsverfahrens ermittelte die IV-Stelle mit Verfügung vom 29. November 2001 eine seit mindestens 1997 bestehende, invaliditätsbedingte Erwerbseinbusse von 35 % und hob die Rente auf Ende des den Zustellungsmonat der Verfügung folgenden Monats auf. Zur Begründung wurde insbesondere ausgeführt, dass bezüglich der Mitarbeit der Ehefrau sowie eines zusätzlichen teilweise behinderungsbedingt einzusetzenden Mitarbeiters ein Personalmehraufwand von Fr. 101'172.- berücksichtigt worden sei. B. Dagegen liess der Versicherte beim kantonalen Gericht Beschwerde erheben und den Hauptantrag stellen, es sei ihm auch nach dem 1. Januar 2002 eine halbe Rente zuzusprechen. Angesichts eines Schreibens der IV-Stelle vom 16. Januar 2002, wonach die Aufhebung der Rente bereits auf Ende August 1998 zu erfolgen habe, liess der Versicherte mit Eingabe vom 23. Januar 2002 das Rechtsbegehren insoweit abändern, als ihm eine halbe Rente ab September 1998 zuzusprechen sei. Nachdem die IV-Stelle an ihrem Standpunkt festgehalten und eine reformatio in peius beantragt hatte, liess der Beschwerdeführer dem kantonalen Gericht mit Replik vom 2. September 2002 mitteilen, er halte an der Beschwerde fest und beantrage die Aufhebung des Entscheides sowie die Rückweisung der Sache an die Verwaltung zur Neuabklärung, eventualiter die Zusprechung einer Rente ab 1. Oktober 1997. Mit Entscheid vom 28. Juni 2004 wies das Verwaltungsgericht des Kantons Bern die Beschwerde ab und hob die ganze Rente mit Wirkung ab Ende Januar 2000 auf. Damit schützte die Vorinstanz die angefochtene Revisionsverfügung vom 29. November 2001 in Anwendung der substituierten Begründung, dass die ursprüngliche Rentenverfügung, mit welcher dem Beschwerdeführer eine ganze Rente zugesprochen worden war, zweifellos unrichtig und ihre Berichtigung von erheblicher Bedeutung war. Mit Entscheid vom 28. Juni 2004 wies das Verwaltungsgericht des Kantons Bern die Beschwerde ab und hob die ganze Rente mit Wirkung ab Ende Januar 2000 auf. Damit schützte die Vorinstanz die angefochtene Revisionsverfügung vom 29. November 2001 in Anwendung der substituierten Begründung, dass die ursprüngliche Rentenverfügung, mit welcher dem Beschwerdeführer eine ganze Rente zugesprochen worden war, zweifellos unrichtig und ihre Berichtigung von erheblicher Bedeutung war. C. Der Beschwerdeführer lässt Verwaltungsgerichtsbeschwerde führen und in Aufhebung des kantonalen Entscheides unter Kostenfolge und Neuverlegung der Parteikosten durch die Vorinstanz beantragen, die Sache sei zur Neubeurteilung an die IV-Stelle zurückzuweisen. Die IV-Stelle schliesst auf Abweisung der Verwaltungsgerichtsbeschwerde, während das Bundesamt für Sozialversicherung auf eine Vernehmlassung verzichtet. 