There are several confusing aspects to what you are doing.
I may be wrong, but I think the main source of your problem is that you are forcing jndi to go through tcp/ip with your initial context getting method. This will make anything bound in the java: namespace inaccessible. What happens if you remove your getInitialContext() method and replace calls to it with new InitialContext()?
The other confusing aspect is why you are referring to BlackBoxDS. This hasn't been in jboss since 2.2 or earlier. Are you using jboss.jcml that came with 2.4.3? I recommend not mixing configuration files. Sometimes the changes between versions are very hard to spot. As I recall, the ConnectionFactoryLoader in 2.4 was MinervaDS, which ought to be under java:MinervaDS or java:/MinervaDS.
If you continue to have problems please show at least the jboss.jcml configuration of the ConnectionFactoryLoader you are trying to use and, any relevant bean configuration, and a stack trace.