Neither Java 1.4 nor Java 6 "have" EJB of any version. Those are JSE versions, while EJB is part of JEE.
A Java 6 JVM can certainly run EJB 2 code, as long as the JEE server being used supports it. In general, JVMs are backwards compatible - whatever Java 1.4 can run, so can Java 5, and -by extension- Java 6.
Thanks a lot for your response. What I mean was JDK 1.4.2 migration to JDK 6 and at the same time Weblogic 8.1 to Weblogic 10. As we are using EJB 2.0 I was just wondering whether the servers which use JRE 6 can support EJB 2.0 or we have to migrate to EJB 3.0.
From the second answer it is clear that we do not have to migrate to EJB 3.0 which is very good news for us.
Weblogic 10 supports EJB 2. I have a large EJB 2 application that I'm looking to move from WLS 8.1 to 10 and it deploys fine on 10. Unfortunately, BEA broke their own authentication API, so I'm waiting for a patch for that.