I do not understand why plyr solution is required. split works fine, and even hadley himself did not offer a plyr / reshape2 solution when he looked at an earlier question:
split(dfrm, (0:nrow(dfrm) %/% 300)
Throws a warning, but since you were expecting an unevenly divisible result, you should ignore it.
source share