You're getting better at this! For portraits, if you need to cut off, take a shot that's cut off before the knee, or just a bit past the shoulders for a head portrait. It makes it look better compositionally.
You have some white balance issues (skin tone varies from some pictures), are you using auto white balance? If you are, try to keep it the same when you edit them later. A lot of photographers don't know that you can always adjust you're white balance in the editing stage if you choose one and get it wrong.
On camera flash is hard to make pleasing shots if the daylight doesn't match the color of the flash, so you're better off shooting at the lowest aperture possible to get the most light out of your shots. If you're already at the lowest aperture possible, lower your shutter speed, the lowest it can go with you nailing sharp shots at a high rate is equal to the focal length of your lens. EX. 50mm, 1/50 shutter speed. If you need to go lower, aim for taking multiple shots because about 7/10 will end up not sharp (depends on shutter speed).
Since you're using a Nikon D3100, and if you need light bad, you should only push the ISO up to 800, if you go higher, there will be noise in the shot, but if you can expose correctly at ISO 1600, then go for it.