Possible solutions to remove the use of a Hashtable
It look spretty good to me, but there are a couple of things I would likely change, none of which have to do with the use (or non-use) of a hashtable data structure as it is perfectly suited for this sort of thing.

I would probably change the LoadSettings method a bit as it doesn't actually load settings each time it is called, and then definitely use the generic Dictionary&lt;K,V&gt; instead of the antiquated Hashtable class, thereby removing the need for all that nasty casting.  You could also avoid two lookups when attempting to retrieve a value from the cache by using TryGetValue instead of Contains and then performing another lookup, something like:

public static string GetCacheSetting(string settingName, string defaultValue)
{
    string ret;
    Settings.TryGetValue( settingName, out ret );
    return ret ?? defaultValue;
}

// you may even want to make this private as a caller could
// edit the contents of the cache directly.  You could leave
// GetCacheSetting as the only access point, adding a 
// SetCacheSetting method if needed.
private static Dictionary&lt;string, string&gt; _settings;
public static Dictionary&lt;string, string&gt; Settings
{
    get
    {
        if( _settings == null )
        {
            _settings = LoadSettings();
        }       

        return _settings;
    }
}

private static Dictionary&lt;string, string&gt; LoadSettings()
{
    HttpRuntime.Cache.Remove( _settings );
    _settings = new Dictionary&lt;string,string&gt;();
    DataAccess da = new DataAccess(); //My DAL
    foreach (DataRow row in da.GetSiteSettings().Tables[0].Rows)
    {
        Settings oSetting = new Settings();
        oSetting.SettingsInitFromRow(row);
        _settings.Add(oSetting.Name, oSetting.Value);
    }

    HttpRuntime.Cache.Insert("SiteSettings", 
                             _settings, 
                             null, 
                             DateTime.Now.AddMinutes(120), 
                             Cache.NoSlidingExpiration);        

    return _settings;
}