I'm in the teamspeak3 IRC channel very often and help users there often. Many of them have the same problem, so I thought about creating a thread about how to solve it.
The problem is that even after saving the licensekey.dat to the correct folder and starting the server, it still shows the "Unable to find valid license key, falling back to limited functionality" error.
2012-10-02 07:57:00.043980|INFO    |ServerLibPriv |   | TeamSpeak 3 Server (2012-06-29 07:59:05)
2012-10-02 07:57:00.045980|INFO    |DatabaseQuery |   | dbPlugin name:    SQLite3 plugin, Version 2, (c)TeamSpeak Systems GmbH
2012-10-02 07:57:00.045980|INFO    |DatabaseQuery |   | dbPlugin version: 3.7.3
2012-10-02 07:57:00.046980|INFO    |DatabaseQuery |   | checking database integrity (may take a while)
2012-10-02 07:57:00.129980|WARNING |Accounting    |   | Unable to find valid license key, falling back to limited functionality
2012-10-02 07:57:00.180980|INFO    |FileManager   |   | listening on
2012-10-02 07:57:00.367980|INFO    |CIDRManager   |   | updated query_ip_whitelist ips:, 
2012-10-02 07:57:00.368980|INFO    |Query         |   | listening on
Now, the problem is not that hard to solve. Open your licensekey.dat file with any text editor (like notepad, nano).
If your file looks like this:
Company name : *****
address      : *****
zipcode      : *****
city         : *****
country      : *****
phone        : *****
fax          :
sales contact: *****
tech contact : *****

type         : Nonprofit
start date   : Mon Dec 19 00:00:00 2011
end date     : Sat Dec 22 00:00:00 2012
max. virtual servers: 10
max. slots   : 512
description  : TeamSpeak 3 Non-Profit License
then everything is fine. This thread won't solve your problem then. But if it contains many lines that look like
, it's pretty easy to solve.

Let me explain why that problem occurs first. (If you don't want to know why it occurs, just skip this part) When sending a mail, attached files get "encrypted". The type of encription that is used normally is called "Base64". It can be undone by decrypting the file again, since Base64 is a bijective encryption you will always have the exact same original text in your file after decrypting. Some mail clients obviously don't decrypt attached files anymore though (I don't really know why), which leads to broken files on some clients - your teamspeak server can't deal with an encrypted file of course. So your ts3 server now tries to read the licensekey.dat but fails because it's encrypted.

To solve the problem, there are two possibilities: You either try to open the file with different mail clients, but you might have to try out many to get the decrypted file.
Or you decrypt it yourself. There are many possibilities to do that again, on linux you can use the command
base64 -d licensekey.dat >> licensekey2.dat
and then rename the old licensekey.dat (as a backup) and rename licensekey2.dat to licensekey.dat (using "mv licensekey2.dat licensekey.dat"). If you don't have any base64 decoder installed or just don't know how to use it, you can also paste the content of your mail attachment to webpages like http://www.opinionatedgeek.com/dotne.../base64decode/ , click on decode, copy the output and paste it in your file again (overwrite the old stuff of course).

When you start your server now, the licensekey.dat file should work as intended. I hope my small guide was able to help you :)