For example, if a Pokémon used Hypnosis (a Psychic-type move) on a Dark-type Pokémon, would the Dark-type Pokémon have a chance to fall asleep?
Yes. Hypnosis works on Dark-type Pokémon. Similarly, Roar works on Ghost-type Pokémon and Sand Attack works on Flying-type Pokémon. The immunities are to attack moves, not status moves.
An exception to this is that Thunder Wave does not work on Ground-type Pokémon. However, that is an exception rather than a rule.
Because you've tagged this Pokemon series and not a specific game, we need to talk about Gen 1.
Specifically, this post: http://www.smogon.com/forums/threads/normal-types-cannot-be-paralyzed-by-body-slam.3525371/
In Gen 1, in order to code Fire Types immunity to Burn, or Ice types immunity to freeze, they exploited the fact (perhaps shortsightedly) that only Fire type attacks inflict Burn, only Ice type attacks inflict freeze, etc. They simply made all Fire type Pokemon immune to status effects applied to Fire types attacks. However, they did this for every type.
What this means is that Normal type Pokemon are immune to status effects caused by Normal type attacks, Ground types are immune to status effects caused by Ground type moves, etc. As the post demonstrates, Normal type Pokemon cannot be Paralyzed by Body Slam.
So, in Gen 1, Pokemon are immune to status effects caused by moves that are the same type as the Pokemon.
This is fixed in all other Generations.