1はDLLの差し替えで再コンパイルなしでバグフィックス可能かもしれないし
DLLのバージョンが変わると不具合がでるかもしれない
その辺を避ける技術はプラットフォーム次第

2はそのとおり