FYI, as of build 85 of JDK 7, bug 6634138 "Source generated in last round not compiled" has been fixed in javac. Previously, source code generated in a round where RoundEnvironment.processingOver() was true was not compiled. With the fix, source generated in the last round is compiled, but, as intended, while compiled such source still does not undergo annotation processing. The fix has also been applied to OpenJDK 6 build 19.
I have the same problem (source does not get compiled, when it is created, when processingOver()==true) with Sun JDK 1.6.0u19 and with Eclipse 3.5.1 on linux.
Does anybody know, if and when this problem will be fixed in these compilers?