Mezi 2011-04-16 16:00 a 2011-04-15 00:00 je jeden den a 16 hodin, proto váš DATEDIFF(...)+1
se vrací (správně) 1+1 den.
Problémem je zde nesoulad mezi časem, kdy host přichází/odchází (kolem poledne) a časem, kdy se mění sazba (o půlnoci).
Musíte zkontrolovat své požadavky, ale pravděpodobně byste mohli ignorovat poslední částečný den a nechat hosta "odejít" v 2011-04-15 23:59:59 pro účely výpočtu sazby. Stejně tak nechejte hosta „dorazit“ 14. 4. 2011 00:00:00. Hodiny navíc v první den vynahradí chybějící hodiny v poslední den.