So unlike the SCJP, SCJD would holds for all version of the JDK & would only expire only if Java becomes obsolete?
From the instructions: Throughout this exercise, you must use exclusively the Java 2 platform. You may develop your code using any implementation of the Java 2 platform, but the submission that you return must have been tested and shown to work under a production (not development) version of the Sun Microsystems' Java 2 platform and that platform must not have been superseded by a new production version for more than 18 months by the time you make your submission.
It means that the upgrade to new JDK versions is automatic: when a release version of JDK 1.5 will be available, you will be allowed to use it for your assignment, but while the last release version of JDK 1.4 will be youngest than 18 months old, you'll still be allowed to use it as well.
once I cleared it, it would be valid for the Java 2 platform until Java 3 platform appears?
Even then you would be certified for the Java 2 platform.
My take on it is that the SCJP is the exam which is meant to demonstrate a competence in the java language for a specific version of the JDK. The SCJD on the other hand is meant to show an ability to apply Java to a 'real world' project, and which (I think correctly) is independant of the version of class libraries used.