Currently the drop agrument in the dcast function aplies to both the RHS as the LHS. However sometimes it is usefull that drop only applies to the RHS or LHS and not both.
Allowing a double logical like drop = c(TRUE, FALSE) where the first applies to RHS and the second to LHS could be a usefull further development of the dcast function.
An example can be found in this question on StackOverflow.