Unfortunately the Linux kernel is not even that smart. Even if you remove the very last partition Linux won't reload partition table if there is any, even totally unaffected, partition in use on this device. There is no way to reload partition table if any partitions there are in use. Which usually means reboot if it is the disk holding the root file system.
And here is an ugly (and DANGEROUS!) hack that can help sometimes…
I am not sure if it helps you, but I have recently found a workaround allowing me to access freshly created/modified partition even if Linux refused to reload the partition table:
# losetup --find --partscan --show /dev/sda
/dev/loop0
losetup: /dev/sda: warning: file smaller than 512 bytes, the loop device maybe be useless or invisible for system tools.
(the warning may be ignored)
This will made all the partition currently defined on /dev/sda
as: /dev/loop0p1
, /dev/loop0p2
, etc. BE CAREFUL! It is very easy to destroy your data this way, as Linux won't even notice if you try to do anything (mount, create file system, etc.) with a partition which is in use.