It's a dirty hack, but it seems to work.
<%= Html.TextBoxFor(model => model.SomeDate,
new Dictionary { { "Value", Model.SomeDate.ToShortDateString() } })%>
You get the model binding, and are able to override the HTML "value" property of the text field with a formatted string.