Imagecache images are generated on the fly when a browser requests them, rather than when you create the preset or flush the images.
Basically, this is how the process works.
When a URL 404s, the request gets punted to
/index.php and handled by Drupal.
The imagecache module has a
hook_menu() entry that handles all of the requests to
sites/default/files/imagecache (or whatever
file_directory_path() returns for your site).
The callback for this checks for the requested filename. If the file exists (ie, the derivative has been generated and exists in the filesystem), it gets served up. Otherwise, the module makes the derivative, saves it to the filesystem, and then serves it up.
So, the net result is that you don't need to explicitly generate the derivatives. When a page that has them on it is requested, they will be automacically generated.
If you would like to pre-generete them for performance reasons, then my suggestion would be to write a bash script to find all of the images in your
sites/default/files directory, and then wget them with the proper imagecache preset path name.
If you are looking at a page and the thumbnails aren't being shown, then you have another problem. Checking the system report would be the first place to check. Typically, the webserver can't write to the filesystem or your image toolkit is messed up.