この1日半、不注意で動かなくなってしまったプログラムを
復旧させるべく苦労していました。ネットで調べてもあまり
的を射たものがなかったので、対処法を残しておきます。

 VB6でOCXファイルを作るとき、「バイナリ互換」にして
ビルドを行うのが半ば常識になっています。それは、もし
互換が外れた場合には該当する全てのファイルを再ビルド
しなければならないからです。

 ところが、この「バイナリ互換」は、OCXに新たな
プロパティを作成した場合等には適用されません。それを
知らずに(その前に、OCXにバージョンがあることすら
知らなかった)不用意なプロパティを制作してビルドを
行ってしまい、それ以降の依存OCXで「'' を読み込め
ません。」という不明なエラーを吐き出され、ビルドが
できない状況になってしまいました。

 原因までは結構すぐにわかったのですが、問題はそこから
どのように復旧させればいいか、でした。Visual Studio 6.0
ツールの中に「OLE View」というものがあるのですが(これの
存在もはじめて知った)、それを見ると新バージョンのOCXが
なかなか消えず、「'' を読み込めません。」というエラーを
出し続けていました。

 さんざん悩んだあげく、原因が「新バージョンのOCXが
きちんと消えていない」ことだと気づきました。旧バージョンの
OCXを上書きしたものの、レジストリ解除をしなかったために
設定はまだ残っていたみたいです。そしてもう一度新しい
バージョンのOCXを作り、今度はきちんとレジストリ解除を
行ってから旧バージョンのレジストリ登録を行うことで、
ようやく開発環境が復活しました。

 ということで。間違えてOCXのバージョンを上げてしまった
場合、以下のことを以下の手順できっちりと行うことが
復旧への近道になるようです。1つでも外すと全くうまく
いかない、というのが、いかにもプログラムらしいというか。

1.新バージョンOCXのレジストリ解除を行う
 (Regsvr32 -u OCXFile.ocx)
2.旧バージョンのOCXをコピーする
 (念のため、新バージョンのOCXはバックアップしておくと
  いい。私はバックアップをしていなかったため、もう一度
  新OCXを作成しなおしました)
3.旧バージョンのOCXをレジストリ登録する
 (Regsvr32 OCXFile.ocx)

 ちなみに、新バージョンのOCXがレジストリ登録されている
状態のときには、OLE Viewで見たときに新バージョン番号が
出た状態のままになり、ときには新バージョン番号と古い
バージョン番号のOCXが「2階建て」状態で登録されていたり
します。この状態では新バージョンのOCXが優先されるのか、
同じエラーが出続けていました。