結論からいうと、HSPの実装上の仕様です。
まず、次のコードを見てください。
// text.dpm に a.txt が、実行ファイルに b.txt が、
// それぞれ埋め込まれているとします
// (A)
chdpm "text.dpm"
noteload "a.txt" // OK
noteload "b.txt" // error
// (B)
noteload "DPM:text.dpm:a.txt" // OK
noteload "DPM:text.dpm:b.txt" // error
// (C)
noteload "DPM:text.dpm:a.txt" // OK
noteload "b.txt" // error (!)
以上3つのコードは、現時点ではすべて同じ意味になります。
yamadaさんの場合は (C) と同じパターンですね。
簡単に原因を書くと、"DPM:[dpm]:[file]" の形式でファイルが指定されたときに、
ランタイムが内部で chdpm "[dpm]" と同じ処理をしてしまうことにあります。
(これまで開いていた DPM を閉じて、新しい DPM を開きっぱなしにしている)
もしかしたら、ランタイムのバグかもしれません。
正確なところはおにたまさんに聞かなければ分かりませんが。
実行ファイルを対象に chdpm や "DPM:" が使えたらよかったのですが、それもできなさそうなので、
yamadaさんの考える使い方は、残念ながら現在のHSPではできないようです。