As far as I understand it the USB sticks gets retested after reboot and if its performance is "on the fence" so to say it's possible that it might fail the ReadyBoost speed test.
You should be able to see it from the logs or from registry whats the issue. In Vista it's possible to turn off retesting the USB stick in registry, but I'm not sure if the same key works in Win 7. In Win 7 the registry section has less entries than in Vista.
Is the location of the registry dealing with the readyboost devices.
Should you fail to get ReadyBoost to behave like you want to then there is alternative 3rd party program doing the same thing (altho it is not free, unfortunately other than trial period) called EBoostr.It works fine in combination of ReadyBoost and superfetch as long as it's pointed at different drive than ReadyBoost. I myself went that route after poking at readyboost for a while trying it to get work on CF card in IDE slot of my motherboard. It was possible to trick it into working on it but it forgot it almost always after the reboot. EBoostr is a bit less picky about devices you use it on and is able to keep the cache over the reboot so it does not need to rebuild it. Although on USB stick not using encryption might be security risk - depending on how accessible is your PC for other people to "yank it out and walk away".