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.
Das Eidg. Versicherungsgericht zieht in Erwägung:
Das Eidg. Versicherungsgericht zieht in Erwägung:
1. Zu prüfen ist, ob und gegebenenfalls auf welchen Zeitpunkt aufgrund des Vergleichs des anlässlich der ursprünglichen Verfügung vom 24. September 1998 (Zusprache einer ganzen Rente ab 1. Mai 1994 bei einem Invaliditätsgrad von 70 %) gegebenen Sachverhalts mit demjenigen im Zeitpunkt der ersten Rentenaufhebungsverfügung vom 27. September 1999 sich die tatsächlichen Verhältnisse in dieser Zeitspanne so wesentlich verändert haben, dass der Beschwerdeführer fortan keinen Anspruch mehr auf eine Invalidenrente gehabt hätte.
1.1 Wie das kantonale Gericht zutreffend erkannt hat, findet das auf den 1. Januar 2003 und damit erst nach Erlass der Verfügung vom 29. November 2001 in Kraft getretene Bundesgesetz über den Allgemeinen Teil des Sozialversicherungsrechts vom 6. Oktober 2000 (ATSG) keine Anwendung. Dasselbe gilt für die erst im Zuge der 4. IV-Revision auf den 1. Januar 2004 neu eingeführten oder geänderten Bestimmungen des IVG und der dazugehörenden Verordnung (IVV).
1.2 Bezüglich der rechtlichen Grundlagen für die Beurteilung des streitigen Rentenanspruchs nach der allgemeinen Methode des Einkommensvergleichs oder nach dem ausserordentlichen Bemessungsverfahren ist auf die Ausführungen im kantonalen Entscheid zu verweisen. Von Bedeutung sind ferner die Bestimmungen über die Rentenrevision (alt Art. 41 IVG [in der bis 31. Dezember 2002 gültig gewesenen Fassung; nunmehr Art. 17 Abs. 1 ATSG] und alt Art. 88a Abs. 1 IVV [in der bis 31. Dezember 2003 gültig gewesenen Fassung] sowie Art. 88bis Abs. 2 lit. a IVV; BGE 130 V 349 ff. Erw. 3.5; vgl. auch BGE 125 V 369 Erw. 2, 113 V 275 Erw. 1a, 112 V 372 Erw. 2b und 390 Erw. 1b, 109 V 265 Erw. 4a, 105 V 30, je mit Hinweisen) sowie die für die Wiedererwägung rechtskräftiger Verwaltungsverfügungen geltenden Regeln (BGE 127 V 469 Erw. 2c mit Hinweisen, 103 V 128).
Lassen sich die beiden hypothetischen Erwerbseinkommen nicht zuverlässig ermitteln oder schätzen, so ist in Anlehnung an die spezifische Methode für Nichterwerbstätige (Art. 27 IVV [in der bis 31. Dezember 2003 gültig gewesenen Fassung]) ein Betätigungsvergleich anzustellen und der Invaliditätsgrad nach Massgabe der erwerblichen Auswirkungen der verminderten Leistungsfähigkeit in der konkreten erwerblichen Situation zu bestimmen (ausserordentliches Bemessungsverfahren). Der grundsätzliche Unterschied dieses Verfahrens zur spezifischen Methode besteht darin, dass die Invalidität nicht unmittelbar nach Massgabe des Betätigungsvergleichs als solchem bemessen wird. Vielmehr ist zunächst anhand des Betätigungsvergleichs die leidensbedingte Behinderung festzustellen; sodann aber ist diese im Hinblick auf ihre erwerbliche Auswirkung besonders zu gewichten. Eine bestimmte Einschränkung im funktionellen Leistungsvermögen einer erwerbstätigen Person kann zwar, braucht aber nicht notwendigerweise eine Erwerbseinbusse gleichen Umfangs zur Folge zu haben. Wollte man bei Erwerbstätigen ausschliesslich auf das Ergebnis des Betätigungsvergleichs abstellen, so wäre der gesetzliche Grundsatz verletzt, wonach bei dieser Kategorie von Versicherten die Invalidität nach Massgabe der Erwerbsunfähigkeit zu bestimmen ist (BGE 128 V 30 f. Erw. 1 mit Hinweisen).
Lassen sich die beiden hypothetischen Erwerbseinkommen nicht zuverlässig ermitteln oder schätzen, so ist in Anlehnung an die spezifische Methode für Nichterwerbstätige (Art. 27 IVV [in der bis 31. Dezember 2003 gültig gewesenen Fassung]) ein Betätigungsvergleich anzustellen und der Invaliditätsgrad nach Massgabe der erwerblichen Auswirkungen der verminderten Leistungsfähigkeit in der konkreten erwerblichen Situation zu bestimmen (ausserordentliches Bemessungsverfahren). Der grundsätzliche Unterschied dieses Verfahrens zur spezifischen Methode besteht darin, dass die Invalidität nicht unmittelbar nach Massgabe des Betätigungsvergleichs als solchem bemessen wird. Vielmehr ist zunächst anhand des Betätigungsvergleichs die leidensbedingte Behinderung festzustellen; sodann aber ist diese im Hinblick auf ihre erwerbliche Auswirkung besonders zu gewichten. Eine bestimmte Einschränkung im funktionellen Leistungsvermögen einer erwerbstätigen Person kann zwar, braucht aber nicht notwendigerweise eine Erwerbseinbusse gleichen Umfangs zur Folge zu haben. Wollte man bei Erwerbstätigen ausschliesslich auf das Ergebnis des Betätigungsvergleichs abstellen, so wäre der gesetzliche Grundsatz verletzt, wonach bei dieser Kategorie von Versicherten die Invalidität nach Massgabe der Erwerbsunfähigkeit zu bestimmen ist (BGE 128 V 30 f. Erw. 1 mit Hinweisen).
2. 2.1 Das kantonale Gericht hat befunden, entgegen der Ansicht des Beschwerdeführers sei eine Berechnung aufgrund des ausserordentlichen Bemessungsverfahrens nicht gerechtfertigt. Es hat festgestellt, dass die IV-Stelle bei der Berechnung des Anteils für die nicht entlöhnte Mitarbeit der Ehefrau sowie bezüglich der Berechnung des Personalaufwandes für einen behinderungsbedingt zusätzlichen Mitarbeiter richtigerweise die vom Bundesamt für Statistik gestützt auf die Lohnstrukturerhebung (LSE) erstellten Lohntabellen beigezogen hatte. Die Verwaltung war von den Geschäftsabschlüssen der Jahre 1997 bis 2000 ausgegangen, somit von einem Zeitraum, indem sich die invaliditätsbedingten Einschränkungen beim Beschwerdeführer schon ausgewirkt hatten. Sodann hatte sie zuerst das hypothetische Invalideneinkommen berechnet, um danach, bei Aufrechnung eines behinderungsbedingten Mehraufwandes an Personal, das hypothetische Valideneinkommen festzusetzen.
2.2 Demgegenüber vertritt der Beschwerdeführer die Auffassung, für die Ermittlung des Invaliditätsgrades sei nicht die ordentliche Bemessungsmethode mit Vergleichsberechnungen, sondern das ausserordentliche Bemessungsverfahren anzuwenden. Zur Begründung macht er geltend, wenn die IV-Stelle noch eine verbleibende Arbeitsfähigkeit von 20 % hinsichtlich der handwerklichen Tätigkeit als Beifahrer auf dem Lastwagen angenommen habe, so übersehe sie, dass diese Beschäftigung betriebswirtschaftlich sinnlos sei und zu keinem Ertrag führe. Abklärungen darüber, welche Tätigkeit der Beschwerdeführer überhaupt ausserhalb des Büros ausführen könne, seien keine durchgeführt worden, wobei davon ausgegangen werden müsse, dass im handwerklichen Bereich eine 100%ige Arbeitsunfähigkeit bestehe. Werde die Erwerbsfähigkeit aufgrund einer Buchhaltung ermittelt, seien nicht bloss die Zahlen, sondern auch die entsprechenden Schwankungen mit zu berücksichtigen, weil eine ausgeglichene konjunkturelle Entwicklung die Basis für ein konstantes Validen- bzw. Invalideneinkommen bilde. Die Geschäftsergebnisse seien durch die invaliditätsfremden Faktoren der Konjunkturlage, der Konkurrenzsituation, des kompensatorischen Einsatzes seiner Ehefrau und eines Mitarbeiters beeinflusst worden, weshalb das ordentliche Bemessungsverfahren für die Ermittlung des Invaliditätsgrades untauglich sei. Da insbesondere die Geschäftsführung keinen direkten Ertrag abwerfe, ihr aber im Vergleich zur branchenspezifischen Tätigkeit grössere, wirtschaftliche Bedeutung zukomme, könne ihre erwerbliche Gewichtung nicht aus den Betriebsergebnissen abgeleitet werden. Auch die massiven Ertragsschwankungen im Zeitraum von 1997 bis 2001 würden aufzeigen, dass die vorgenommenen Berechnungen untauglich seien. Es sei daher zweckmässig, auf die Durchschnittszahlen des Branchenverbandes abzustellen, was zu einer Erwerbseinbusse von 51,1 % führe. Zur Nachholung der Abklärungen und zur Berechnung des Invaliditätsgrades nach dem ausserordentlichen Bemessungsverfahren seien die Akten an die IV-Stelle zurückzuweisen.
2.3 Eine Gegenüberstellung der in einem Gewerbebetrieb realisierten Betriebsergebnisse lässt zuverlässige Schlüsse auf die invaliditätsbedingte Erwerbseinbusse nur dort zu, wo mit überwiegender Wahrscheinlichkeit ausgeschlossen werden kann, dass die Geschäftsergebnisse durch invaliditätsfremde Faktoren beeinflusst worden sind. Tatsächlich sind aber für die jeweiligen Geschäftsergebnisse eines Gewerbebetriebes häufig zahlreiche schwer überblickbare Komponenten wie etwa die Konjunkturlage, die Konkurrenzsituation, der kompensatorische Einsatz von Familienangehörigen, Unternehmensbeteiligten oder -mitarbeitern von massgeblicher Bedeutung. Eine verlässliche Ausscheidung der auf solche (invaliditätsfremden) Faktoren zurückzuführenden Einkommensanteile einerseits und der auf dem eigenen Leistungsvermögen des Versicherten beruhenden Einkommensschöpfung andererseits ist in solchen Fällen in der Regel aufgrund der Buchhaltungsunterlagen nicht möglich (AHI 1998 S. 254 Erw. 4a).
Der Bemessung des Invaliditätsgrades durch die Vorinstanz kann nicht gefolgt werden. Das kantonale Gericht führt zwar aus, der vorliegende Tatbestand unterscheide sich von demjenigen, der in BGE 128 V 29 ff. zur Anwendung der ausserordentlichen Invaliditätsbemessungsmethode geführt hatte, begründet ihren Standpunkt allerdings nicht überzeugend. Der Beschwerdeführer macht zu Recht geltend, invaliditätsfremde Faktoren, welche möglicherweise zu bedeutenden Ertragsschwankungen geführt haben, seien in der Berechnung der IV-Stelle nicht berücksichtigt worden. Auch welche Tätigkeiten er im handwerklichen Bereich noch ausführen kann, wurde nicht abgeklärt. Die von der Vorinstanz zwecks Durchführung eines möglichst exakten Einkommensvergleichs im Rahmen der ordentlichen Bemessungsmethode herangezogenen Betriebsergebnisse ermöglichen keine Beurteilung, inwiefern sich die leidensbedingte Behinderung bei der Arbeit in erwerblicher Hinsicht auswirkt, und bilden daher keine taugliche Grundlage für die Invaliditätsbemessung. Die Sache ist unter diesen Umständen an die Verwaltung zurückzuweisen, damit sie angesichts der Tatsache, dass vorliegend auch invaliditätsfremde Faktoren das Geschäftsergebnis beeinflusst haben und deshalb nicht ohne weiteres von der Einkommenseinbusse auf den Invaliditätsgrad geschlossen werden kann, Letzteren nach der Methode des ausserordentlichen Bemessungsverfahrens festlege und anschliessend über die Rentenrevision neu befinde.
Der Bemessung des Invaliditätsgrades durch die Vorinstanz kann nicht gefolgt werden. Das kantonale Gericht führt zwar aus, der vorliegende Tatbestand unterscheide sich von demjenigen, der in BGE 128 V 29 ff. zur Anwendung der ausserordentlichen Invaliditätsbemessungsmethode geführt hatte, begründet ihren Standpunkt allerdings nicht überzeugend. Der Beschwerdeführer macht zu Recht geltend, invaliditätsfremde Faktoren, welche möglicherweise zu bedeutenden Ertragsschwankungen geführt haben, seien in der Berechnung der IV-Stelle nicht berücksichtigt worden. Auch welche Tätigkeiten er im handwerklichen Bereich noch ausführen kann, wurde nicht abgeklärt. Die von der Vorinstanz zwecks Durchführung eines möglichst exakten Einkommensvergleichs im Rahmen der ordentlichen Bemessungsmethode herangezogenen Betriebsergebnisse ermöglichen keine Beurteilung, inwiefern sich die leidensbedingte Behinderung bei der Arbeit in erwerblicher Hinsicht auswirkt, und bilden daher keine taugliche Grundlage für die Invaliditätsbemessung. Die Sache ist unter diesen Umständen an die Verwaltung zurückzuweisen, damit sie angesichts der Tatsache, dass vorliegend auch invaliditätsfremde Faktoren das Geschäftsergebnis beeinflusst haben und deshalb nicht ohne weiteres von der Einkommenseinbusse auf den Invaliditätsgrad geschlossen werden kann, Letzteren nach der Methode des ausserordentlichen Bemessungsverfahrens festlege und anschliessend über die Rentenrevision neu befinde.
3. Da es um die Bewilligung oder Verweigerung von Versicherungsleistungen geht, sind keine Gerichtskosten zu erheben (Art. 134 OG).
Dem Verfahrensausgang entsprechend steht dem anwaltlich vertretenen Beschwerdeführer eine zu Lasten der unterliegenden Beschwerdegegnerin gehende Parteientschädigung zu (Art. 159 Abs. 1 in Verbindung mit Art. 135 OG).
Demnach erkennt das Eidg. Versicherungsgericht:
Demnach erkennt das Eidg. Versicherungsgericht:
1. In Gutheissung der Verwaltungsgerichtsbeschwerde werden der Entscheid des Verwaltungsgerichts des Kantons Bern vom 28. Juni 2004 und die Verfügung vom 29. November 2001 aufgehoben und die Sache an die IV-Stelle zurückgewiesen, damit sie, nach erfolgter Abklärung im Sinne der Erwägungen, über die Rentenrevision neu befinde.
1. In Gutheissung der Verwaltungsgerichtsbeschwerde werden der Entscheid des Verwaltungsgerichts des Kantons Bern vom 28. Juni 2004 und die Verfügung vom 29. November 2001 aufgehoben und die Sache an die IV-Stelle zurückgewiesen, damit sie, nach erfolgter Abklärung im Sinne der Erwägungen, über die Rentenrevision neu befinde.
2. Es werden keine Gerichtskosten erhoben.
2. Es werden keine Gerichtskosten erhoben.
3. Die IV-Stelle Bern hat dem Beschwerdeführer für das Verfahren vor dem Eidgenössischen Versicherungsgericht eine Parteientschädigung von Fr. 2500.- (einschliesslich Mehrwertsteuer) zu bezahlen.
3. Die IV-Stelle Bern hat dem Beschwerdeführer für das Verfahren vor dem Eidgenössischen Versicherungsgericht eine Parteientschädigung von Fr. 2500.- (einschliesslich Mehrwertsteuer) zu bezahlen.
4. Das Verwaltungsgericht des Kantons Bern wird über eine Parteientschädigung für das kantonale Verfahren entsprechend dem Ausgang des letztinstanzlichen Prozesses zu befinden haben.
4. Das Verwaltungsgericht des Kantons Bern wird über eine Parteientschädigung für das kantonale Verfahren entsprechend dem Ausgang des letztinstanzlichen Prozesses zu befinden haben.
5. Dieses Urteil wird den Parteien, dem Verwaltungsgericht des Kantons Bern, Sozialversicherungsrechtliche Abteilung, der Ausgleichskasse des Kantons Bern und dem Bundesamt für Sozialversicherung zugestellt.
Luzern, 26. Juli 2005
Im Namen des Eidgenössischen Versicherungsgerichts
Der Präsident der II. Kammer: Der Gerichtsschreiber: