Frees all internal variables and sets them to nil
Usually a second read call to any of the properties returns the cached information from the first call. By calling FreeCache the chached information is rendered invalid so the properties rereads from e.g. registry. This also means that a second call can raise an exception if the situation has changed.