I have the following problems with the TDateTimePicker control:
When the form comes up, it's automatically focused. It's my first control on the form, but everything needs to be de-focused on startup. I tried the following:
procedure TfrmMain.FormShow(Sender: TObject);
begin
// ...
// Defocus everything
Self.ActiveControl := nil; // Does not work
end;
Also, there is a TSpeedButton which should de-focus this control, but pressing it doesn't remove the focus from the TDateTimePicker. (Other controls like a regular TButton do remove it.)

When the form comes up, it's automatically focused. It's my first control on the form, but everything needs to be de-focused on startup.
That is a very strange requirement. My gut feeling is that your design is suboptimal. You shouldn't fight the OS and its conventions – you should try to adhere to the norms the users expect on the platform.
Also, there is a
TSpeedButtonwhich should de-focus this control, but pressing it doesn't remove the focus from theTDateTimePicker.
That's expected, since TSpeedButton is a graphic control, not a windowed control. Hence, a speed button isn't a window (like a regular button, edit box, radio button, checkbox, combo box, list box, list view, etc. is).
In particular, this means that users cannot move to your button using the keyboard (Tab), so speed buttons make your GUI less accessible and less convenient to use.
I never use speed buttons for this reason.
everything needs to be de-focused on startup
But if you absolutely insist, you can make everything defocused from the beginning.
You only need to add an OnActivate handler that sets the form's ActiveControl to nil:
procedure TForm1.FormActivate(Sender: TObject);
begin
ActiveControl := nil
end;