Once useful trick for this is to give your textboxes a CssClass property of 'date-picker', then you can easily apply jQuery Datepicker like so...
<asp:textbox id="fromDateSelection" cssclass="date-picker" runat="server"></asp:textbox>
<script type="text/javascript" >
$(document).ready(function() {
$(".date-picker").datepicker({
changeYear: true,
changeMonth:true,
dateFormat: 'dd/mm/yy',
minDate: new Date('01/01/1900'),
maxDate: '+1Y',
yearRange: '1900:' + Date().getFullYear
});
});
</script>
This is particularly helpful when working with multiple textboxes on the page that need datepicker, and also means you don't have to work with the mangled master page identifiers.
As for your problem, if you are using a textbox like above and you're seeing the datepicker display & set the textbox value, you should be able to access the value on the server. Can you confirm all that is happening?
Update: Some questions I asked OP in a non-solution answer I'm about to delete!
Please answer the following questions so people can help you
1) Is the date picker showing in the UI? When you click in the text box, do you see the datepicker?
2) When you choose a date, is it setting the value in the text box. Does the textbox correctly show the selected value?
3) Is it only when you post your form that it is reset to blank?
4) Are you sure you don't have any initialisation code in your page that is setting the txtDOP to empty string?