Hi Leo
There is a method for protecting the software contact of a microcontroller using a cryptographic memory and some encryption algorithm - a colleague of mine is working on a commercial product who allow an external protection for the software inside a microcontroller (like a USB software dongle key in PC)
The cost of the product is in the range of few EURO for each system (as far as i know)
You will need to add an SOT23-6 IC, to spare one or two I/O from you micro
and a software library(DLL) who will be called from your application.
This method is not a 100% security against software copier but another layer of security who will make there work hard to bare.
All the best
Bobi