Requirements to use 'open -b "bundle.id" ' for OS X
My guess is that it is working on systems where the app has been present long enough for the app to be registered with the system, but fails on systems where it has not been present very long.

There is a possible solution here:

The command (all one line)

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

The Caveat

After running this command, OS X may prompt you before letting you open some applications for the first time. I would NOT suggest running that on someone else's Mac or they are likely to get irritated with you.

Instead, I would suggest using open -a /path/to/your/app instead of open -b {bundle-id}