1)what do you mean about the superdomain not supported by all browsers? Earlier you say this is the way to do it in production then you end by saying it isn't the way to do it.
Not supported are cases where one of the two hostnames is equal to the superdomain.
So, if you use
push.mydomain.com as host for your Lightstreamer server
and
mydomain.com as host for your webserver
this is not supported.

Bu if you use
push.mydomain.com as host for your Lightstreamer server
and
www.mydomain.com as host for your webserver
than that's ok [and you'll use setDomain("mydomain.com")].


2)In your second post you refer to the Lightstreamer API. Are you referring to the javascript API? Please can you be clear about this as it is very confusing.
We refer to Lightstreamer javascript API (this forum section is about javascript API).
Other APIs have different (Flex, Silverlight) or no restrictions about host names.

3)should I be checking the browser name and setting pushPage.context.setDomain(null) for IE and pushPage.context.setDomain(domain) in firefox?
only if you are in the situation highlighted by the first post and you don't want/you can't apply the hosts-file-workaround proposed.

Note that in a production environment you should use two different hostnames for your webserver and your lightstreamer server so that this thread will not apply.