Soliders don't block for cavalry
As the title says: cavalry have kind of an odd place in the unit list. Recruits and milita will take damage before them, but soldiers (and probably elite soldiers) will get the cavalry killed first.
Now it might not necessarily be a bug so much as just an odd way of doing things. My suggestion would be to put cavalry behind all melee units damage wise (ie basically give them "cautious") since as a cavalry unit they should theoretically be able to avoid melee units as long as they have melee of their own to "hide" behind.
(Note: This thread originally said longbowmen in error when the issue was with cavalry).