Достаточно разумное объяснение можно найти по адресу: http://en.csharp-online.net/CSharp_FAQ:_Why_must_struct_constructors_have_at_least_one_argument
Цитата: ".NET. Common Language Runtime (CLR) не гарантирует, что вызовутся конструкторы без параметров. Если структурам было разрешено иметь конструкторы без параметров без параметров, то подразумевалось, что конструкторы по умолчанию всегда будут вызываться. Тем не менее, CLR не дает такой гарантии. "