Yes it would require a C++ script and a compile. As an idea once have made the in game item this item could be added to the store so that when a player donates they can then pick this item from the store to then be given in the in game mail. If the item has been removed and then the player donates then this item could be given again. The item does not have to be removed as the item with the C++ script can be made to see if the player has a security of 0, 1, 2, 3 etc..
If the script sees that the security is equal to or greater than 1 then player is donator and give max level else the script sends a message to the player saying "You are not a donator and unable to use this at this time" (removal of the item can be optional).