I have not need to expire an application, but you might record the date each time the application is started and disable the application if the current date is before the last time your application ran.
Also, if your application will run on a machine that guarantees an Internet connection, you might communicate out to a time server and use that time rather then the system time.
I'd like to provide my client an application which will stop working after a certain number of days have passed since the first invocation (trial software). Any ideas on how to make this work even if the user changes the system date?