I downloaded the widget. I made two changes .... I added "using App_Code.Controls" to the top of widget.ascx.cs and edit.ascx.cs ... and the widget is working for me, in BE 2.0.
I don't have "namespace Widget.Cumulus" like you are showing in your post. The two code-behind .CS files have these "class" lines:
public partial class widgets_Cumulus_widget : WidgetBase
public partial class widgets_Cumulus_edit : WidgetEditBase
The error you are showing is actually an error in WidgetBase (App_Code\Controls) -- not in the Cumulus widget. You might already be aware of this. Although I see that the error occurs when the Cumulus widget is Getting Settings.
Although you've identified which line of code the error is occurring on, is there an error message? The more details you can post, the better.
Is "cacheId" null? That seems unlikely since the line before sets "cacheId" to a value ... so I don't think "cacheId" can be null. It's possible "this.Cache[cacheId]" is null, but that should not throw
an error. That line of code is checking to see if "this.Cache[cacheId]" is null, and if so, retrieving a value.