No. You are confusing the Java Platform, Standard Edition, which is what your version numbers are (1.4.2, 6) with the Java Platform, Enterprise Edition (which supports EJB's). The version of JDK you can run will be dictated by what EJB container you are using (JBoss, Weblogic, Websphere).
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.
From the second answer it is clear that we do not have to migrate to EJB 3.0
Actually, it's not. Note that I said "as long as the JEE server being used supports it." So you need to make sure that WebLogic 10 supports EJB 2 (it probably does, but you need to make sure).
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.