オリジナルのソースの修正箇所
version 0.02 より、VC++6.0 でコンパイルが通るようになった
代わりに BCB5.0 でコンパイルが通らなくなった

追加、削除、修正箇所には 

追加 by Kobarin
削除 by Kobarin
修正 by Kobarin

と記述

midisynth.cpp

・先頭に以下を追加

#pragma warning(disable:4305)
#pragma warning(disable:4786)
namespace std
{
    typedef size_t size_t;
};
/--------------------------------------
置換
#include <cmath> 
    => namespace std{
       #include <cmath>
       };

std::max => __max
std::min => __min
std::memset => memset
std::memcmp => memcmp
channels[i].reset(new channel(factory, i == 9 ? 0x3C00 : 0x3C80));
    => channels[i]= std::auto_ptr<channel>(new channel(factory, i == 9 ? 0x3C00 : 0x3C80));
/---------------------------------------
削除

midisynth.hpp, midisynth.cpp

//namespace midisynth{ //コメントアウト
...
//};//コメントアウト

midisynth.hpp, sequencer.hpp

/*
	コメントアウト
    class uncopyable{
    public:
        uncopyable(){}
    private:
        uncopyable(const uncopyable&){}
        void operator=(const uncopyable&){}
    };
*/
class T:uncopyable{  => class T{//:uncopyable{

sequencer.hpp, sequencer.cpp 

// namespace midisequencer{//コメントアウト
...
// };//コメントアウト

midisynth.cpp

channel::channel(note_factory* factory_, int bank):
        factory(factory_), default_bank(bank)
{
    frequency_multiplier = 0;//追加 by Kobarin (初回の update_frequency_multiplier 呼び出し時に浮動小数点エラーが発生するのを回避） 
...
}