Restarting an Application is just restarting the website - yes restarting the entire service will work, but is complete overkill.
OnApplicationStart fires the first time your website is accessed in a specified period of time (set with this.ApplicationTimeout) - once that time has elapsed with no visitors, your onApplicationEnd() method fires and the application is removed from memory. The next time it's then accessed, onApplicationStart is called and the site is loaded back into memory.
You're not seeing onApplicationStart fire because you're developing the website, so it's not been idle. During development, I do something like this in your onRequestStart() method:
<cfif structKeyExists(url, 'restart') >
<cfset onApplicationStart() />
</cfif>
That way all I have to do is put ?restart at the end of any URL, and it'll restart the website. Much quicker and more efficient than restarting CF.