.flexblock{
margin: 10px;
border: 2px solid black;
border-radius: 3px;
position: relative;
align-items: center;
display: flex;
flex-wrap: wrap;
flex: 0 0 100%;
width: 100%;
}
@media (min-width: 420px){
.flexblock{
flex: 0 0 50%;
max-width: 50%;
}
}
display: flex
это расширенный display: block
. А блоки даже занимая места меньше, чем 100% не переносятся.