Latest gcc on Linux accepts it as does the latest avr-gcc command line but not though the IDE.
The error messages shown in the IDE
FRED-2:11: error: conflicting declaration 'typedef struct Program_Data_Struct* Program_Data_Struct'
typedef struct Program_Data_Struct *Program_Data_Struct;
^
FRED-2:9: error: 'struct Program_Data_Struct' has a previous declaration as 'struct Program_Data_Struct'
struct Program_Data_Struct{};
...
conflicting declaration 'typedef struct Program_Data_Struct* Program_Data_Struct'
makes sense since there does seem to be an ambiguity if one tries to use 'Program_Data_Struct',