Good point about colons and semicolons not being 100% safe.
Only thing I would say is that they will only be there after ".pd" and this should make it safer (easier to parse!?!?!).

+1 for
pd -open "mypatch1.pd: 1 2 3" -open "mypatch2: foo bar"