Hi Martin. How are things. I didn't even realize you were a slashdot reader. (I worked at Eucalyptus until fairly recently).
In my opinion, cloud APIs are different from the other APIs or architectures you mentioned (WWW, x86/windows, LAMP), in that applications are not written for a particular cloud API. The cloud API is exposed to cloud management tools, not to the applications which will run in the cloud. Thus, the same application will run on either an AWS cloud, or a Rackspace cloud. This situation is quite different from (say) the windows API, which had applications written specifically for it.
The big exception is S3, but the S3 API is very simple and can easily be handled by a compatibility layer.
Furthermore, almost nobody interacts with any AWS API (except S3) directly. Sysadmins interact with the AWS API through tools, like command-line tools and web consoles. The AWS API is only truly important to people who write cloud management tools.
The value of AWS compatibility is in two things: 1) familiar cloud management tools, and 2) hybrid clouds.
Perhaps OpenStack should make a suite of command-line tools and a web console, which resemble Amazon as closely as possible. That way, any deployment scripts etc would continue to work. It doesn't matter very much which web service API the tools are communicating with.
Also, OpenStack may need to support hybrid OpenStack/Amazon clouds in the future. This depends upon whether hybrid clouds take off.
Let me know if you think there's something I'm missing here.
Best,
-t