Mellem 2011-04-16 16:00 og 2011-04-15 00:00 er der en dag og 16 timer, derfor din DATEDIFF(...)+1
returnerer (korrekt) 1+1 dage.
Problemet her er misforholdet mellem det tidspunkt, hvor gæsten ankommer/forlader (omkring middag) og tidspunktet, hvor prisen ændres (ved midnat).
Du er nødt til at tjekke dine krav, men sandsynligvis kunne du ignorere den sidste delvise dag og få gæsten til at "rejse" kl. 2011-04-15 23:59:59 til satsberegningsformål. Få på samme måde gæsten til at "komme" kl. 2011-04-14 00:00:00. De ekstra timer på det første døgn vil kompensere for de manglende timer på det sidste døgn.