According to http://msdn.microsoft.com/en-us/library/ms188767.aspx a shutdown via the Service Control Manager does perform a checkpoint. This is very important behavior that ensures a quick service start and fast database recovery on startup.
Unfortunately, with SQL Server 2012 (11.0.3321.0) it is not happening. Database recovery on service startup can take very long and the SQL Server log clearly indicates recovery activity going on.
A service stop via Service Control Manager should generate a CHECKPOINT in every database.