Yes starting from the standard Web Profile installation, when I got that error I launched the Update Tool, looked at which components were available, found the "GlassFish EJB Container" (glassfish-ejb) whose description says it includes the EJB Timer Service, and installed that package only expecting it to be enough. Seemed like a reasonable thing to do.
However I got the same error again. Like you say, looks like the deployment check just asks for the Full Profile, there's no finer-grained feature availability check.
I haven't looked into it in more details, but I guess ideally each package should declare which features it provides, and the container should only check that it has a component that provides the required feature.
[Message sent by forum member 'mnasato']
http://forums.java.net/jive/thread.jspa?messageID=475342