InitializeCompenent обрабатывает xaml, связанный с файлом. Именно в этот момент привязка CommandParameter сначала обрабатывается. Если вы инициализируете свое поле до InitializeCompenent, то ваше свойство не будет иметь значение null. Если вы создадите его позже, тогда оно будет нулевым.
Если вы хотите создать виджет после InitializeCompenent, вам нужно будет использовать свойство зависимости. Proeprty для зависимостей вызовет уведомление, которое приведет к обновлению CommandParameter и, следовательно, не будет нулевым.
Вот пример того, как сделать TestWidget свойством зависимости.
public static readonly DependencyProperty TestWidgetProperty =
DependencyProperty.Register("TestWidget", typeof(Widget), typeof(Window1), new UIPropertyMetadata(null));
public Widget TestWidget
{
get { return (Widget) GetValue(TestWidgetProperty); }
set { SetValue(TestWidgetProperty, value); }
}