A little better
If the key is in an ini file, as I understand it, try breaking on GetPrivateProfileStringA. Look up this API in the Win32 Programmers Reference and display in Softice the parameters to monitor what is being read and where it is stored, i.e "dd esp.C" will show the 4th parameter
lpReturnedString, // points to destination buffer
When you find where your key string is stored then you can set a "read" BPR on that address range and Softice should break when the key string is first manipulated. Begin your tracing from there.
Try running an API monitor on the program, if the 'key' section of the ini file is being removed after it detects the bad key, this may show up how it's being done, perhaps with a WritePrivateProfileSection call. This will further help isolate the code you're looking for.
Hope this helps,
Kayaker