Forse ho risolto così. Che ne dite ? SI può scrivere il tutto in maniera più compatta e corretta ?

codice:
// a custom method for validating the date range
$.validator.addMethod("dateRange", 
	function() {
		if( $("#dataInizioAsString").val() != "" &&  $("#dataFineAsString").val() != "")
			return new Date($("#dataInizioAsString").val()) < new Date($("#dataFineAsString").val());
		else
			return true;
		}, 
		"Intervallo date non corretto");
				

	$(function () {
		var validator = $("#reportForm").validate({ 
			rules: {
				dataInizioAsString : { 
						required: {
							depends: function() {
								return $("#dataFineAsString").val() != "";
									}
								}
							},
				dataFineAsString : { 
						dateRange: true,
						required: {
							depends: function() {
							        return $("#dataInizioAsString").val() != "";
									}
								}
						},
				utente : "required"
				},
				groups: {
					dateRange: "dataInizioAsString dataFineAsString"
				},
				messages: {
					dataInizioAsString: {
								required: "Valorizzare entrambe le date"
								},
					dataFineAsString: {
								required: "Valorizzare entrambe le date"
								},
					utente: "Selezionare un utente"
				},
				errorPlacement: function(error, element) {
					 if (element.attr("name") == "dataInizioAsString" || element.attr("name") == "dataFineAsString" )
						error.insertAfter("#dataFineAsString");
					else
						error.insertAfter(element);
						
					},
					debug: true
			    });
			});