This looks like it should work, but it doesn't. I think the problem must be that I'm not referencing the control correctly, but I'm not sure how to do it. Here are some snippets:
The menu control is located on the headernav.ascx user control (I created that because it is used for navigation on several pages):
<asp:Menu ID="mnuUser" runat="server" Font-Bold="True" Font-Names="Arial"
Font-Size="XX-Small" ForeColor="White" Orientation="Horizontal"
style="margin-top: 0px">
(you notice I've assigned the forecolor here, and it displays correctly if I remove the reference to the stylesheet on the container page)
The headernav.ascx control is placed on the page:
<%@ Register src="headernav.ascx" tagname="header" tagprefix="uc1" %>
.
.
<head runat="server">
<title>apptitle</title>
<link media="screen" href="mycss.css" type="text/css" rel="Stylesheet" />
</head>
<body>
<form id="frm" runat="server">
<div>
<uc1:header ID="header1" runat="server" />
</div>
Even if I remove the reference to the stylesheet and drop in your code (with #Menu1 changed to #mnuUser) the links on both the page and the navigation bar are displayed in blue. I tried changing the reference to #header1 but that didn't work either.